眾所周知,渠道包作為當下國內 Android 應用市場常見的分發方式,當 APP 和後臺互動或進行資料上報時,會帶上各自的 channel 渠道資訊,以此方便企業 & 開發者統計 APP 在各渠道的下載量、使用者量、留存率等關鍵活躍資料,並針對性的調整應用內容和推廣方案。而 Android 應用市場存在大大小小几百個商店,每當需要釋出 APP 或迭代新版本,往往需要開發者生成多個渠道包或是在各應用市場重新分發,且官方提供的 ProductFlavor 多渠道打包工具,對於每一個渠道包,都需要進行一次完整的 APK 打包過程,對於注重效率的開發者而言整個環節其實相當耗時,是否有更好的多渠道簽名打包方案呢?
近期,頂象技術團隊開源了自己的 Android apk 打包工具,精簡,高效,應用開發者需要的多渠道打包神器來了!
下載後的包內檔案:
我們先來看看 V1 和 V2 簽名的區別:
在 Android Studio 中點選選單 Build->Generate signed apk... 打包簽名有兩種簽名選項 V1 (Jar Signature) V2 (Full APK Signature),**
從 Android 7.0 開始,谷歌增加新簽名方案 V2 Scheme (APK Signature);
但 Android 7.0 以下版本,只能用舊簽名方案 V1 scheme (JAR signing)
V1 簽名:
V2 簽名:
V2 簽名優點很明顯:
頂象 apk 簽名工具預設同時使用 V1+V2 簽名方式,用於對 android 加固後的 apk 進行重新簽名。
啟用工具介面:
使用說明:
ps: 如果有 alias(證書別名)金鑰的或者有多個證書的,請在高階 tab 中選擇 alias 並輸入 alias 密碼
命令列介面:
支援的 option 如下:
例如:
頂象多渠道工具相容友盟和美團 walle 風格的多渠道包,方便客戶把 APP 釋出到不同的應用平臺,進行渠道統計。
使用說明:
讀取渠道資訊:
頂象多渠道工具相容友盟和美團 walle 風格的多渠道包,下面是兩種不同風格的渠道資訊讀取方法。選其中之一即可。
您可以讀取這個欄位。
渠道檔案格式說明
請準備渠道清單檔案 channel.txt, 格式為每一行一個渠道, 例如:
關於 app 簽名:
Q: app 簽名是什麼?
A: 簽名就是用於識別 app 開發者,並保證 apk 完整性的一個機制,谷歌要求每一個 app 都需要有簽名。
Q: 為什麼上傳的 app 需要有簽名?
A: 加固有防二次打包的功能,需要提前 apk 原本的簽名,供加固後驗證簽名正確性用。
Q: 在 androidstudio 中打出的 debug 版本包,可以加固嗎?
A: 不建議用 debug 版本包加固,因為 debug 版本的包使用的是 androidstudio 的 debug 簽名,可能導致加固後無法重簽名,或者籤錯名的情況。導致無法正常執行。
關於加固後重簽名:
Q: 上傳之前 apk 已經簽過名了,為什麼加固後又要重新籤一次?
A: 加固之後會破壞 apk 原有的簽名,所以需要重新簽名,否則無法安裝。
Q: 為什麼重簽名需要和加固前保持一致?
A: 如果不保持一致,則會觸發加固的防二次打包功能,無法正常執行。