轉自:http://18e0c209.wiz01.com/share/s/0oUc890scQDx2tkMAj02NI0c3Ubmms31ckdr2UwE0E2X-bzY
在看本文之前,先了解
以360渠道爲例:
步驟1:將應用上傳360加固(網頁-上傳和加固(不簽名),加固完後下載到本地備用。注:不是使用360加固助手(因爲PC版會 加固並簽名應用,而且使用的是V1(傳統)簽名))
步驟2:使用Android SDK中的zipalign - 對齊操作
- 優化
(利用tools文件夾下的zipalign工具。首先調出cmd命令行,然後執行:zipalign
-v 4 source.apk androidres.apk。這個方法不受API Level的限制,可以對任何版本的APK執行Align優化。
檢查當前APK是否已經執行過Align優化。命令:zipalign -c -v 4 androidres.apk)
a. 打開CMD,進入Android SDK -> build-tools -> 25.+目錄,
例如:C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\25.0.2
b. 執行命令:
zipalign -v 4 C:\Users\Administrator\Desktop\_360jiagu\奇魚旅行_qiyu_v1.2.5_7_20170124_jiagu_nosign.apk C:\Users\Administrator\Desktop\_360jiagu\奇魚旅行_qiyu_v1.2.5_7_20170124_jiagu_zipalign_nosign.apk
步驟3:使用V2簽名工具再次簽名加固後的Apk
a. 打開CMD,進入Android SDK -> build-tools -> 25.+目錄,
例如:C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\25.0.2
b. 執行命令:
apksigner sign --ks D:\Test\qy_trip.jks C:\Users\Administrator\Desktop\apksigner\奇魚旅行20170209_v1.2.5_qiyu_jiagu_no_zipalign_v2_sign_pre.apk
apksigner sign --ks [你的簽名文件] [apk路徑]
步驟4:檢查是否使用V2簽名
執行命令:
java -jar C:\Users\Administrator\Desktop\apksigner\CheckAndroidV2Signature.jar C:\Users\Administrator\Desktop\_360jiagu\奇魚旅行_qiyu_v1.2.5_7_20170124_jiagu_zipalign_sign_pre.apk
執行命令後返回:
{"ret":0,"msg":"ok","isV2":true,"isV2OK":true} 是 V2 簽名的App
{"ret":0,"msg":"ok","isV2":false,"isV2OK":false} 不是 V2 簽名的App
步驟5(修正):寫入渠道信息
執行命令:
命令一:(單個寫入,如果未指定目錄,生成的新Apk與[apk路徑]同級目錄)
java -jar walle-cli-all.jar put -c qiyu C:\Users\Administrator\Desktop\apksigner\qiyu_jiagu_zipalign_v2_sign_walla_channel_tools.apk
java -jar walle-cli-all.jar put -c [渠道名] [apk路徑]
java -jar walle-cli-all.jar put -c [渠道名] [apk路徑] [生成的apk路徑(可選)]
命令二:(批量寫入,如果未指定目錄,生成的新apk與[apk路徑]同級目錄)
java -jar walle-cli-all.jar batch -f C:\Users\Administrator\Desktop\apksigner\channel C:\Users\Administrator\Desktop\apksigner\qiyu_jiagu_zipalign_v2_sign_walla_channel_tools.apk C:\Users\Administrator\Desktop\apksigner\apk
java -jar walle-cli-all.jar put -c [渠道文件] [apk路徑] [生成的新apk路徑(可選)]
其他命令:
顯示當前apk中的渠道和額外信息:
java -jar walle-cli-all.jar show C:\Users\Administrator\Desktop\apksigner\qiyu_jiagu_zipalign_v2_sign_walla_channel_tools_itang.apk
最後,安裝app,代碼獲取渠道信息打印驗證是否能夠獲取到渠道信息,結果:360加固後的簽名和渠道配置成功
根據上面的的邏輯,實現了一個渠道化工具
http://download.csdn.net/download/jason_2016/9765391