廢話不多說,以友盟統計為例,在androidmanifest.xml裡面會有這麼一段:
<meta-data
android:name
="umeng_channel"
android:value
="channel_id"
/>
裡面的channel_id就是渠道標示。我們的目標就是在編譯的時候這個值能夠自動變化。
或者批量修改
很簡單清晰有沒有?直接執行./gradlew assemblerelease, 然後就可以靜靜的喝杯咖啡等待打包完成吧。
除此之外assemble還能和product fl**or結合建立新的任務,其實assemble是和build variants一起結合使用的,而build variants=build type+product fl**or, 舉個例子大家就明白了:
如果我們想打包wandoujia渠道的release版本,執行如下命令就好了:
如果我們只打wandoujia渠道版本,則:
此命令會生成wandoujia渠道的release和debug版本
同理我想打全部release版本:
這條命令會把product fl**or下的所有渠道的release版本都打出來。
總之,assemble命令建立task有如下用法:
最後福利大放送,來乙份我在專案中使用的完整的gradle檔案配置:
return
new date().format("yyyy-mm-dd", timezone.gettimezone("utc"))
}android
lintoptions
signingconfigs
release
}buildtypes
release _$_$.apk"output.outputfile = new
file(outputfile.parent, filename)}}
}}
}//友盟多渠道打包
Android多渠道打包
度娘能搜到很多種多渠道打包方式,我這裡簡單說下我們目前正在使用的打包方法。首先背景情況 我們不同渠道,除了渠道號 vendorid 不一樣外,還有功能上的稍許不同,所以還有幾個開關控制專案。方法原理 專案 中在res raw 下增加config.dat檔案,裡面有渠道號,和功能開關 apk包,其實是...
android Ant 批量多渠道打包
支援多渠道打包 需要配置在androidmanifest.xml配置個 android name和android value位置不能變 這裡先要說下必須的 1 ant版本1.7以上 adt版本的eclipse裡的ant是1.8.3 ok eclipse plugins org.apache.ant ...
Android原始多渠道打包
原始多渠道打包就是個體力活,在較少渠道的時候可以使用,但是面對上千的渠道的時候,使用這種方式你會後悔當一名android開發工程師。它的原理是在應用 中設定渠道id,使用的時候將渠道id設定給資料分析介面,資料分析平台通過該渠道id分析之。其實後面多渠道方式的本質原理都是這樣的,但是具體擴充套件方式...