今天應我的群員要求簡單的介紹下集成阿里云Hotfix的熱修復流程由于這是我的第一篇博客可能寫的不太好或者不太詳細請大家多多批評指正我會第一時間改正自我的問題不跟,感覺寫博客不只是給大家?guī)韼椭€有助于自己的水平提升程奠,以后有什么好的技術捕透,我會持續(xù)給大家分享,話不多說開始步入正題吧鳖昌!
1.首先我們進入到阿里云官網登陸賬戶選擇下圖中箭頭所指熱修復的產品
2.創(chuàng)建應用
【登陸熱修復控制臺】 https://hotfix.console.aliyun.com/
點擊右上角創(chuàng)建App
师坎,跳轉到Mobile Hub App管理控制臺,或者直接訪問Mobile Hub控制臺:https://mhub.console.aliyun.com/奉呛。
-
在MHub控制臺點擊右上角創(chuàng)建產品,填入產品名稱夯尽、行業(yè)分類和描述
-
點擊創(chuàng)建后瞧壮,可以直接看到當前的產品列表
-
點擊產品名字或者產品名稱對應的管理鏈接進入產品的應用列表創(chuàng)建android/iOS應用
點擊下圖創(chuàng)建應用按鈕,填寫APP名稱匙握、端類型咆槽、packageName/bundleId 完成應用創(chuàng)建
-
填寫下圖APP名稱、端類型肺孤、packageName/bundleId 完成應用創(chuàng)建
-
創(chuàng)建完成后點擊左側服務列表選擇移動熱修復,進入移動熱修復控制臺
-
APPID济欢、 APPSECRET赠堵、RSA秘鑰在App列表點擊“管理”后,跳轉到單個App管理頁面法褥,可以查看如下圖
3.快速集成
-
gradle遠程倉庫依賴, 打開Studio項目找到app的build.gradle文件茫叭,添加如下配置:
添加maven倉庫地址:
-
添加gradle坐標版本依賴:
-
在清單文件檢查Sophix SDK使用到以下權限
-
在AndroidManifest.xml中間的application節(jié)點下添加如下配置并把下圖中箭頭所指appid appsercret RSA秘鑰替換掉你自己的:
-
在Application.onCreate()的最開始進行SDK初始化操作,初始化之前不能用到其他自定義類半等,否則極有可能導致崩潰揍愁。
接口說明
- setContext(application): <必選> 傳入入口Application即可
- setAppVersion(appVersion): <必選> 傳入應用的版本號
- setSecretMetaData(idSecret, appSecret, rsaSecret): <可選>如果清單文件配置了appid RSA秘鑰可以不寫該方法
- setEnableDebug(isEnabled): <可選> isEnabled默認為false, 是否調試模式, 調試模式下會輸出日志以及不進行補丁簽名校驗. 線下調試此參數(shù)可以設置為true,
到這里客戶端集成完畢了接下來就是開始打包補丁了
3.生成補丁
請先根據(jù)電腦的操作系統(tǒng)分別下載對應的補丁打包工具
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
-解壓壓縮包 Windows下運行SophixPatchTool.exe呐萨,macOS下運行SophixPatchTool.app,下圖例句Mac為例:
主對話框
舊包:<必填> 選擇有問題的APK莽囤。
新包:<必填> 修復過該問題APK谬擦。測試隨便改一下自己能分清就行了哈!日志:打開日志輸出窗口朽缎。
GO!:開始生成補丁惨远。
-
高級
強制冷啟動:勾選的話強制生成補丁包為需要冷啟動才能修復的格式。默認不選的話话肖,工具會根據(jù)代碼變更情況自動選擇即時熱替換或者冷啟動修復北秽。
不比較資源:打補丁時不比較資源的變化。
不比較SO庫:打補丁時不比較SO庫的變化最筒。
-
設置
補丁輸出路徑:<必填> 指定生成補丁之后補丁的存放位置贺氓,必須是已存在的目錄。
Key Store Path:<選填>本地的簽名文件的路徑床蜘,不輸入則不做簽名辙培。
Key Store Password:<選填>證書文件的密碼。
Key Alias:<選填>Key的別名悄泥。
Key Passwrod:<選填>Key的密碼虏冻。
AES Key:<選填>自定義aes秘鑰, 必須是16位數(shù)字或字母的組合。必須與setAesKey中設置的秘鑰一致弹囚。
好了接下來都配置好了就點擊主窗口的Go開始生成補丁吧
生成的補丁Patch.jar我們需要上傳到控制臺
-
進度到我的控制臺點擊添加版本
-
當前版本一定等于你的gradle的版本偶不然不會檢查拉取補丁
-
在版本詳情頁面厨相,您可以上傳剛生成的補丁文件
注意上線發(fā)布前請先本地測試
- 下載本地測試工具 HotFix 調試工具
4.加載補丁調試
-
打開工具后如下圖
輸入“com.taobao.hotfix.demo”包名, 連接應用, 提示連接成功;
點擊上傳掃描二維碼按鈕掃到剛剛上傳補丁二維碼
掃描完成以后返回鸥鹉,輸出掃描到的patch地址蛮穿,向應用發(fā)出拉取patch的請求;
patch拉取和加載狀態(tài)在輸出臺輸出毁渗,當顯示下載和加載成功践磅,然后退出app清掉你的app進程查看,如果無意外就應該成功了
然后成功就可以全量發(fā)布了灸异,將對所有安裝了當前應用版本(即之前創(chuàng)建應用時所填寫的應用版本號)的設備推送該補丁府适。