Android多渠道打包匯總(六)—— 美團的多渠道打包方式

1. 原理

大家都知道,apk文件其實可以看做是一個壓縮包,我們把一個Android應用包當作zip文件包進行解壓,然后發現在簽名生成的目錄下(META-INF)添加一個空文件不需要重新簽名。利用這個機制,該文件的文件名就是渠道名。這種方式不需要重新簽名等步驟,非常高效。

2. 打包步驟

  • 先從github上下載打包需要的工具,里面也有詳細的使用方法介紹
    https://github.com/GavinCT/AndroidMultiChannelBuildTool

  • 將要打包的apk放到PythonTool中,工程目錄如下


    image.png
  • 在PythonTool/info/channel.txt中寫入需要的渠道,一個渠道占一行

  • 雙擊執行PythonTool/MultiChannelBuildTool.py文件(需要有Python環境),或者使用命令行運行Python文件,就會生成渠道包,output目錄下就是生成的各個渠道包

image.png

image.png
  • 獲取渠道信息:將JavaUtil文件下的ChannelUtil.java拷貝到工程,調用ChannelUtil.getChannel即可獲取渠道

3. 優缺點

優點:
這種打包方式速度非常快,900多個渠道不到一分鐘就能打完

缺點:
1.google如果哪天更改打包規則,使得在META-INF中建立空文件還需要重新打包,這種方式將不可用
2.一些不法的渠道商很容易通過工具修改渠道,如果一個渠道商,通過網絡劫持和篡改渠道的組合方式來獲取暴利,對于程序開發者來說可能會存在著巨大的經濟損失

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android市場的渠道分散已不是什么新鮮事,但如何高效打包仍是令許多開發者頭疼的問題。本篇文章著重介紹了目前最新...
    _曾胖子閱讀 1,949評論 1 10
  • [TOC] 打包流程 前言 我們每一個產品中一般都是由一位同事來負責打包工作的,其他同學一般是不需要關心具體的流程...
    鐘金寶閱讀 1,642評論 0 5
  • 目錄一、Python打包及優化(美團多渠道打包)二、Gradle打包三、其他打包方案:修改Zip文件的commen...
    守望君閱讀 5,727評論 4 17
  • 最近在項目中遇到需要實現 Apk 多渠道、定制化打包, Google 、百度查找了一些資料,成功實現了上述功能,在...
    看一季殘花落幕閱讀 2,522評論 1 8
  • 如何治療多囊卵巢綜合征?這道題拖了太久。妹子們看過來吧,幾句話很難講清楚,先前的評論和私信就不一一回復咯。 一、關...
    女性健康咨詢_7945閱讀 800評論 0 1