国内Android市场众多渠道,有时为了统计每个渠道的下载量或是其它数据统计,
就需要我们针对每个渠道单独打包,如果要我们逐个来打包, 那工作量就有点繁琐,一个字累,重复性的工作我们不干,有了Gradle,这事就变得轻而易举了。
下面以友盟统计为例,在AndroidManifest.xml里面会有这么一段:
<meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID" />
其中Channel_ID就是渠道标识。我们的目的就是希望在编译的时候这个值能够自动变化
下面我们来看看怎么实现:
1、在AndroidManifest.xml里配置
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
2、在build.gradle 设置productFlavors
android {
productFlavors {
baidu {}
xiaomi {}
_360 {}
wandoujia {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
然后直接执行./gradlew assembleRelease
后等待打包
或者找到
右击run,后就耐心等待了。
打包成功后,我们可以在 app\build\outputs\apk 路径下看到我们需要的apk包。
这样关于Gradle多渠道打包就算完成了。
坚持原创作者简介:洪生鹏。热衷旅行、写作,过着白天到工地搬砖、晚上写故事的生活。