Android Studio使用教程(六):Gradle多渠道打包
由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。
友盟多渠道打包
废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段:
<meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID"/>
里面的Channel_ID就是渠道标示。我们的目标就是在编译的时候这个值能够自动变化。
第一步在AndroidManifest.xml里配置PlaceHolder
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/>
第二步在build.gradle设置productFlavors
android{ productFlavors{ xiaomi{ manifestPlaceholders=[UMENG_CHANNEL_VALUE:"xiaomi"] } _360{ manifestPlaceholders=[UMENG_CHANNEL_VALUE:"_360"] } baidu{ manifestPlaceholders=[UMENG_CHANNEL_VALUE:"baidu"] } wandoujia{ manifestPlaceholders=[UMENG_CHANNEL_VALUE:"wandoujia"] } } }
或者批量修改
android{ productFlavors{ xiaomi{} _360{} baidu{} wandoujia{} }
productFlavors.all{ flavor->flavor.manifestPlaceholders=[UMENG_CHANNEL_VALUE:name] } }