Gradle分渠道/包名/应用名打包Apk
实际应用开发中,我们会遇到多渠道打包的情况,这是属于比较常见的,但更复杂的需求,如指定渠道使用指定包名, 甚至指定应用名、图标来打包APK, 这种情况下,通常情况下是去手动更改manifest。本文将介绍使用gradle结合shell脚本来自动化打包:
- Gradle多渠道打包
- 不同渠道指定不同应用名、包名打包
Gradle多渠道打包
Gradle多渠道打包非常方便, 相比ANT去写循环打包脚本, gradle里只需写极少量的配置代码即可, 其余的工作均由gradle自身来完成。
下面,将给出具体的步骤。
一, 修改Manifest
在manifest里面, 添加一项用于记录渠道号的meta字段项, 例如:
<!-- 渠道号 meta-data -->
<meta-data
android:name="channel"
android:value="${CHANNEL_VALUE}"
/>
<!-- 渠道号 meta-data -->
其中的, CHANNEL_VALUE字段,将在gradle执行打包脚本时动态替换为相应渠道号。
二, 修改build.gradle文件
productFlavors {
wandoujia {
manifestPlaceholders = [CHANNEL_