前言
當(dāng)你看到這篇博客传惠,我默認(rèn)你已經(jīng)掌握了walle配置多渠道扣甲,如果沒(méi)有請(qǐng)移步之前的博客Gradle+Walle全新二代簽名打包工具跳芳。
問(wèn)題
我們使用walle配置好多渠道包的時(shí)候菊碟,發(fā)布360市場(chǎng)的時(shí)候需要對(duì)apk包進(jìn)行加固處理缠俺,但是這么一處理,我們的apk包中注入的渠道號(hào)就會(huì)被沖掉有滑,這時(shí)跃闹,就需要我們重新手動(dòng)注入渠道號(hào)。
問(wèn)題知道,解決問(wèn)題
1.加固
直接下載pc版的加固助手望艺,然后將要上傳給360市場(chǎng)的apk通過(guò)助手加固苛秕,但是不要選擇自動(dòng)簽名
助手加固好了的apk會(huì)自動(dòng)下載到默認(rèn)的輸出路徑,我為了查找方便就改變了輸出路徑
2.zipalign 對(duì)齊(方便起見(jiàn)找默,命令行窗口不要關(guān))
通過(guò)第一步艇劫,我們已經(jīng)拿到了經(jīng)過(guò)360加固之后的apk文件,但是渠道已經(jīng)丟失了惩激。
我們進(jìn)入sdk目錄下的build-tools目錄下店煞,選個(gè)版本25+的目錄,shift + 鼠標(biāo)右鍵 -->在此處打開(kāi)命令行咧欣,執(zhí)行命令:
zipalign -v 4 [加固好的apk路徑] [對(duì)齊好的apk路徑]
建議對(duì)齊好的apk與原來(lái)加固的apk同目錄浅缸,加個(gè)后綴以示區(qū)別
3.重新簽名(方便起見(jiàn),命令行窗口不要關(guān))
同樣通過(guò)命令行執(zhí)行(需要在build-tools 25+的目錄中打開(kāi)命令行魄咕,所有不要關(guān)步驟2的命令行窗口)命令如下
apksigner sign --ks [你的簽名文件] [apk路徑]
為了方便起見(jiàn),我把簽名文件也扔在這個(gè)目錄下蚌父,重新簽名需要我們輸入簽名文件的密碼哮兰,但是這個(gè)密碼是看不見(jiàn)的,所以我們需要記住苟弛,不要輸錯(cuò)了喝滞。
4.檢查是否為v2簽名(方便起見(jiàn),命令行窗口不要關(guān))
當(dāng)前步驟可有可無(wú)膏秫,看到這一步的肯定都是v2簽名右遭。但是還是建議走一遍。
這里需要下載v2簽名檢查jar包CheckAndroidV2Signature.jar缤削。
(如上上圖所示窘哈,我還是扔在同一目錄下)
執(zhí)行命令如下:
java -jar [CheckAndroidV2Signature.jar路徑] [apk路徑]
執(zhí)行命令后返回:
{"ret":0,"msg":"ok","isV2":true,"isV2OK":true} 是 V2 簽名的App
{"ret":0,"msg":"ok","isV2":false,"isV2OK":false}不是 V2 簽名的App
4. 重新注入渠道號(hào)(方便起見(jiàn),命令行窗口不要關(guān))
最后一步也是關(guān)鍵的一步亭敢,同樣也是需要下載walle-cli-all.jar文件滚婉。(如上上上圖所示,我還是仍在同一目錄下)
執(zhí)行命令行(-c 和渠道名是分開(kāi)的帅刀,不要連在一起)
java -jar [walle-cli-all.jar路徑] put -c [渠道名] [apk路徑] [生成的apk路徑(可選)]
渠道號(hào)參照自己項(xiàng)目中的格式,最后附上當(dāng)前項(xiàng)目中的markets文件