一.我們在做項目時候甩恼,有時候需要同一份代碼,打包出不同的包名沉颂,或者打一個測試包条摸,正式包,這時候android多渠道打包就派上用場了铸屉。
舉個例子了钉蒲,假設(shè)我們有四個維度,設(shè)備渠道彻坛,發(fā)布渠道子巾,開發(fā)接口域名帆赢,日志級別字段琴拧,我們需要在打包時候不修改代碼叉抡,僅僅通過打包控制汁胆,
打出不同的apk,通過gradle配置控制來實現(xiàn)仪搔。直接看gradle配置
其中?"manufacture_channel" ,"umeng_channel" ,"domain","log_level"四個分別字段為我們要控制的維度
skyworth,inphic,tcl是屬于?manufacture_channel維度
dev ,format屬于doimain維度蜻牢,其它幾個分別屬于各自的維度
在打包的時候就會出現(xiàn)這樣的選項了
接下來我們要在代碼里讀取這個幾個字段了烤咧,
這樣就可以在代碼中根據(jù)不同字段,去處理對應(yīng)的操作抢呆,比如我們?nèi)绻x取到domain是dev煮嫌,初始化的接口的域名就是測試地址,否則正式地址
二.我們打包時候有時候需要根據(jù)對應(yīng)的這幾個維度抱虐,打包出apk昌阿,使得根據(jù)apk名字就知道打的apk對應(yīng)的是哪個渠道,哪個版本的恳邀。那么就需要用到自定義打包文件名字了懦冰,直接看gradle配置吧
我們將我們剛才的四個維度都拼接到輸出名字后面,看看打包輸出的名字吧
這樣在app下面就出現(xiàn)不同的apk了谣沸,一目了然
當渠道多了刷钢,就用這種方式打包,測試也不用擔心你發(fā)錯版本了乳附。本來想把github代碼提交内地,發(fā)現(xiàn)重裝了系統(tǒng),git沒裝赋除,算了阱缓。