android studio分模块打包apk,多渠道打包,差异化打包

时间:2024-03-21 10:56:47

AS利用Gradle实现稍作修改(包名差异(需求如:测试机同时安装测试版和发布版)、功能较小差异、图标应用名不同等较小差异化需求)打包多个不同apk的功能

实现方法

  1. 在APP的buid.gradle==>android里添加
    productFlavors {
            solarfac{//自定义flavor1的参数
    //            applicationId "com.yxf.flavor1"
    //            minSdkVersion 15
    //            targetSdkVersion 25
    //            versionCode 1
    //            versionName "1.0"
            }
            hanwa{
                applicationIdSuffix ".hanwa"
                versionNameSuffix "-hanwa"
            }
            bipv{
                applicationIdSuffix ".bipv"
                versionNameSuffix "-bipv"
            }
        }

     

  2. 在工程的src目录下面建立对应的三个文件夹,目录结构和main目录一致

     android studio分模块打包apk,多渠道打包,差异化打包
  3. 新增的三个文件夹可以定义一些不同的部分,打包时会生成com.yxf.flavor1、com.yxf.flavorstest.hanwa、com.yxf.flavorstest.bipv三个不同的包,其中res中相同的文件会覆盖main中的文件,manifest中的属性会合并。

  4. 打包方法:

    与正常签名打包一样:Build-----》Generate Signed APK...选择签名文件输入密码,选择对用的分支

android studio分模块打包apk,多渠道打包,差异化打包

 

 

源码地址:https://github.com/yangxiaofei-China/FlavorsTest