Android多渠道打包彙總(六)—— 美團的多渠道打包方式
阿新 • • 發佈:2019-02-03
1. 原理
大家都知道,apk檔案其實可以看做是一個壓縮包,我們把一個Android應用包當作zip檔案包進行解壓,然後發現在簽名生成的目錄下(META-INF)新增一個空檔案不需要重新簽名。利用這個機制,該檔案的檔名就是渠道名。這種方式不需要重新簽名等步驟,非常高效。
2. 打包步驟
將要打包的apk放到PythonTool中,工程目錄如下
- 在PythonTool/info/channel.txt中寫入需要的渠道,一個渠道佔一行
- 雙擊執行PythonTool/MultiChannelBuildTool.py檔案(需要有Python環境),或者使用命令列執行Python檔案,就會生成渠道包,output目錄下就是生成的各個渠道包
- 獲取渠道資訊:將JavaUtil檔案下的ChannelUtil.java拷貝到工程,呼叫ChannelUtil.getChannel即可獲取渠道
3. 優缺點
優點:
這種打包方式速度非常快,900多個渠道不到一分鐘就能打完缺點:
1.google如果哪天更改打包規則,使得在META-INF中建立空檔案還需要重新打包,這種方式將不可用
2.一些不法的渠道商很容易通過工具修改渠道,如果一個渠道商,通過網路劫持和篡改渠道的組合方式來獲取暴利,對於程式開發者來說可能會存在著巨大的經濟損失