上篇文章點擊打開鏈接,已經講解了 gradle動態配置,下面我們說下怎麼快速的打多渠道包。
之前項目中運用的是gradle配置productFlavors去打多渠道包,這種方式的缺點,有用到的都知道,效率很慢,基本上打10個包 10分鐘要的吧? 難道下次CP讓增加渠道到50個。那怎麼打,1小時。。。
還好,很早美團就提出了一個極速的的打包方案。下面我就介紹下美團的打包怎麼去做:
其原理步驟:
1.利用命令去生成一個空文件,以渠道號名命名。
2.解壓apk,在META-INF下增加生成好的空文件。
3.在項目代碼中解壓,動態獲取空文件的渠道名。
具體的實施步驟:參考https://github.com/GavinCT/AndroidMultiChannelBuildTool
1.配置python環境
沒有下載python的可以去官網下載:https://www.python.org/ ,下載完後配置下環境變量(會java應該都知道)。
2.https://github.com/GavinCT/AndroidMultiChannelBuildTool download下來
JavaUtil 下的ChannelUtil.java 拷貝到自己的項目下,已TD爲例在代碼中調用:
TCAgent.init(this,BuildConfig.TD_ID, ChannelUtil.getChannel(this,"baidu"));
用友盟統計的,也是有同樣的代碼去獲取。
3.在下載好的PythonTool下有個info/channel.txt ,裏面就是自己定義的渠道號,修改成項目中需要的。
4.把生成的包,複製到PythonTool同一級目錄下,執行MultiChannelBuildTool.py 。
站在巨人的肩膀上,美團極速打包方案就是這麼簡單,趕緊試試吧!
文章來自於對https://github.com/GavinCT/AndroidMultiChannelBuildTool實踐理解。
上篇:Android 一站式打包(一)gradle 動態配置多環境