國內(nèi)Android市場眾多渠道,有時(shí)為了統(tǒng)計(jì)每個(gè)渠道的下載量或是其它數(shù)據(jù)統(tǒng)計(jì)公般,
就需要我們針對每個(gè)渠道單獨(dú)打包万搔,如果要我們逐個(gè)來打包, 那工作量就有點(diǎn)繁瑣官帘,一個(gè)字累瞬雹,重復(fù)性的工作我們不干,有了Gradle刽虹,這事就變得輕而易舉了酗捌。
下面以友盟統(tǒng)計(jì)為例,在AndroidManifest.xml里面會有這么一段:
<meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID" />
其中Channel_ID就是渠道標(biāo)識。我們的目的就是希望在編譯的時(shí)候這個(gè)值能夠自動變化
下面我們來看看怎么實(shí)現(xiàn):
1胖缤、在AndroidManifest.xml里配置
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
2尚镰、在build.gradle 設(shè)置productFlavors
android {
productFlavors {
baidu {}
xiaomi {}
_360 {}
wandoujia {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
然后直接執(zhí)行./gradlew assembleRelease
后等待打包
或者找到
gradle打包
右擊run,后就耐心等待了哪廓。
打包成功后狗唉,我們可以在 **app\build\outputs\apk **路徑下看到我們需要的apk包。
這樣關(guān)于Gradle多渠道打包就算完成了涡真。
堅(jiān)持原創(chuàng)作者簡介:洪生鵬分俯。熱衷旅行、寫作哆料,過著白天到工地搬磚缸剪、晚上寫故事的生活。