多渠道打包
所谓多渠道打包,实际上是在代码层面上标记不同的渠道名,从而便于统计应用市场apk的下载量,
利用Gradle进行多渠道打包,开发者从之前的ant打包中解放出来,Gradle进行简单多了,只需要在Gradle脚本中进行简单的配置,即可完成多渠道打包。
创建渠道占位符
首先在AndroidMainifest文件的Application节点下,创建meta-data节点:
<meta-data android:name="InstallChannel" android:value="Tencent"/>
其中value的值就是替换的渠道占位符。
配置build.gradle脚本
在项目的build.gradle的android领域中,添加productFlavors领域,并增加定义的渠道名。同时,使用manifestPlaceholders指定要替换的渠道占位符的值,如下:
productFlavors {
tencent {
manifestPlaceholders = [InstallChannel: "YingYongBao"]
}
qihu360 {
manifestPlaceholders = [InstallChannel: "QiHu360"]
}
huawei {
manifestPlaceholders = [InstallChannel: "Huawei"]
}
hodi {
manifestPlaceholders = [InstallChannel: "HodiCloud"]
}
}
这样配置后,在android studio终端terminal执行gradlew.bat assembleRelease –daemon即可开始构建,在构建完毕后系统会在项目的app目录下的outputs看到所有生成的渠道包,如下图所示: