1.下載打包工具
?patch補丁包生成需要使用到打補丁工具SophixPatchTool:
Mac版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_macos.zip
Windows版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_windows.zip
Linux版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_linux.zip
調(diào)試工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/hotfix_debug_tool-release.apk
該工具提供了Windows和macOS和Linux版本心包,Windows下運行SophixPatchTool.exe,macOS下運行SophixPatchTool.app硅急,Linux下(Ubuntu 16.04 64bit最佳)運行SophixPatchTool溜在。并且需要安裝Java環(huán)境且在JDK7或以上才能正常使用。
2.生成Patch
? ? ?2.1主對話框
舊包:<必填> 選擇基線包路徑(有問題的APK)诱渤。
新包:<必填> 選擇新包路徑(修復(fù)過該問題APK)。
日志:打開日志輸出窗口。
高級:展開高級選項如贷,見2.2.3。
設(shè)置:配置其他信息到踏。
GO!:開始生成補丁杠袱。
? ? ?2.2主對話框 - 高級選項
強制冷啟動:勾選的話強制生成補丁包為需要冷啟動才能修復(fù)的格式。默認(rèn)不選的話窝稿,工具會根據(jù)代碼變更情況自動選擇即時熱替換或者冷啟動修復(fù)楣富。
不比較資源:打補丁時不比較資源的變化。
不比較SO庫:打補丁時不比較SO庫的變化伴榔。
? ? ?2.2.3 設(shè)置對話框
補丁輸出路徑:<必填> 指定生成補丁之后補丁的存放位置纹蝴,必須是已存在的目錄。
Key Store Path:<選填>本地的簽名文件的路徑踪少,不輸入則不做簽名塘安。
Key Store Password:<選填>證書文件的密碼。
Key Alias:<選填>Key的別名援奢。
Key Passwrod:<選填>Key的密碼兼犯。
AES Key:<選填>自定義aes秘鑰, 必須是16位數(shù)字或字母的組合。必須與setAesKey中設(shè)置的秘鑰一致集漾。
Filter Class File:<選填>本地的白名單類列表文件的路徑切黔,放進(jìn)去的類不會再計算patch,文件格式: 一行一個類名具篇。
? ? ?2.3命令行方式
? ? ? ? ? ? ? 采用命令行方式前纬霞,需要準(zhǔn)備以下json格式的配置文件:
{
"AesKey": "",
"ClassFilterFilePath": "",
"KeyAlias": "",
"KeyPassword": "",
"KeyStorePassword": "",
"KeyStorePath": "",
"NewApkPath": "/path/to/new.apk",
"OldApkPath": "/path/to/old.apk",
"OutputDirPath": "/path/to/output/dir/",
"isForceColdFix": false,
"isIgnoreRes": false,
"isIgnoreSo": false
}
其中,必填的項目是NewApkPath驱显、OldApkPath险领、OutputDirPath。其他的配置與圖形界面所對應(yīng)項一致秒紧。然后把它存為profiles.json文件即可绢陌。
接下來,可以用下面的命令進(jìn)行打包:
? ? SophixPatchTool在windows平臺下為SophixPatchTool.exe熔恢,mac平臺下為SophixPatchTool.app/Contents/MacOS/SophixPatchTool脐湾。? ? ? ? ? 執(zhí)行完畢后就可以在OutputDirPath下輸出補丁文件了。
? ? ?2.4注意事項
支持多渠道包僅選用某個渠道包的補丁叙淌,只需要保證變化相同即可秤掌,不過對于不同的基線包最好進(jìn)行全面的測試愁铺。
發(fā)布前請嚴(yán)格按照:掃碼內(nèi)測 => 灰度發(fā)布 => 全量發(fā)布的流程進(jìn)行,以保證補丁包能夠正常在所有Android版本的機型上生效闻鉴。
mac下的補丁工具若出現(xiàn)一打開就崩潰的情況茵乱,請將補丁工具移到“應(yīng)用程序”目錄下即可。
? ? ?2.5補丁使用
補丁需要上傳到阿里控制臺孟岛。控制臺地址
詳情說明見:管理控制臺使用