AndroidStudio Gradle 批量渠道打包

来源:互联网 发布:spss for mac迅雷 编辑:程序博客网 时间:2024/04/30 10:28

批量打包:

1.友盟的统计,在AndroidManifest.xml里配置PlaceHolder

<meta-data        android:name="UMENG_CHANNEL"        android:value="${UMENG_CHANNEL_VALUE}" />

2.在模块的build.gradle文件的defaultConfig里加上PlaceHolder定义

android {  ...  defaultConfig {    ...    manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"default_channel" ]  }}

这里的作用有两个,一是声明 UMENG_CHANNEL_VALUE 是可替换值的PlaceHolder,二是为其设置默认值。

3.在模块的build.gradle文件里添加ProductFlavors配置

android {  ...  defaultConfig {    ...    manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"default_channel" ]  }  productFlavors {    default_channel{}    wandoujia{}    _360{}    yingyongbao{}    xiaomi{}    baidu{}    huawei{}    jifeng{}  }  productFlavors.all { flavor ->    flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE:name ]  }}
所谓ProductFlavors其实就是可定义的产品特性,配合 manifest merger 使用的时候就可以达成在一次编译过程中产生多个具有自己特性配置的版本。
上面这个配置的作用就是,为每个渠道包产生不同的 UMENG_CHANNEL_VALUE 的值。

4. 打包

     Build - Generate Signed APK... 或者 工程目录下运行 gradlew assembleRelease


单独打包:

打开AndroidStudio的Gradle tasks面板,会发现模块多了很多任务,双击即可打包,如下图所示。


1 0
原创粉丝点击