熱修復方案概述:
QQ空間熱修復方案
RocooFix
Nuwa
HotFix
native hook的方案
AndFix
阿里百川(未開源)
微信熱修復方案
Tinker_imitator(微信熱更新方案實踐)
tinker(微信官方)
手機QQ熱修復方案
QFix:推薦文章QFix探索之路——手Q熱補丁輕量級方案
上述方案,關于熱修復都做了許多詳細的介紹,對于眼饞而又不想踩坑的懶癌晚期患者,我們只用現成的。 先不細說,我們看下阿里百川的HotFix方案的使用,感受下熱修復的快捷:(以下內容來自阿里百川HotFix官方文檔)
阿里百川HotFix簡介
阿里百川HotFix是阿里百川旗下全平臺App熱修復服務方案。產品基于阿里巴巴首創hotpatch技術,提供最細粒度熱修復能力。讓您無需等待實時修復應用線上問題。
應用場景
阿里百川HotFix提供的熱修復能力,讓您對應用程序的控制更加自由。 您可以使用HotFix:
緊急修復線上問題。
快速發布新鮮功能。
為什么選擇阿里百川HotFix?
方案比較
當前市面的熱修復方案有很多,而阿里百川HotFix是其中唯一同時支持Android & iOS端熱修復的產品。與眾多的開源項目或者半開源項目相比,我們不僅有AndFix、Wax開源項目團隊成員的支持;同時還在其原有基礎上對打包、調試工具、補丁版本管理等、安全性上做了升級;更重要的是,結合最新的研究成果,突破了原有開源項目的諸多限制,我們能做到類修復、資源修復、so文件修復的實時生效。
自動屏蔽廣告 相比而言,阿里百川HotFix是一個有著多人團隊支持并維護的產品,我們承諾對于加入釘釘群咨詢的客戶,保證工作日內15分鐘響應,非工作日亦可當天響應的效率,提供您滿意的服務。如果您對于產品滿意,歡迎推薦給您的朋友,如果有任何建議或意見,也歡迎加入釘釘群和我們聯系,或者直接填寫問卷給我們留言,您的聲音,是我們的動力!
(詳情可參考:Android熱修復技術選型——三大流派解析)
HotFix總體來說最大的優勢在于:
補丁即時生效,不需要應用重啟;
補丁包同樣采用差量技術,生成的PATCH體積小;
對應用無侵入,幾乎無性能損耗;
傻瓜式接入。
>
但是HotFix1.0版本也有美中不足, 比如暫時不支持新增類和資源,so文件的修復等(這些限制均會在一月中的2.0版本全部去掉),但是作為一項定位為線上緊急BUG的熱修復的服務來說,能夠真正做到BUG即時修復用戶無感知,同時保證對應用性能不產生不必要的損耗,在熱修復方面不失為一個好的選擇。
接入流程&準備工作
接入流程
要完整使用阿里百川HotFix,您需要以下幾步操作:(其中前三步為準備工作,見下方文檔)
注冊阿里百川開發者
創建百川應用
申請產品權限
集成SDK
生成補丁
發布補丁
準備工作(推薦使用Chrome瀏覽器)
Step1 注冊阿里百川開發者
前往注冊成為阿里百川開發者
Step2 創建百川應用
如果您已經創建過百川應用,可以直接在指定應用上使用HotFix產品。
如果您尚未創建過百川應用,請前往創建百川應用。
Step3 申請產品權限
您需要在百川開發者控制臺申請HotFix產品權限,我們將在1個工作日內完成審批。申請理由請“填寫您真實的APP名,說明是否已上應用市場,通過什么渠道了解到百川HotFix。若無APP或還未上線請詳細描述具體公司業務?!保瑢徍诉M度可以加入釘釘群咨詢。
選擇一個應用
點擊“我的產品后臺”
選擇開通HotFix權限
Android 快速集成
詳細操作步驟,請參考官方文檔
HotFix管理后臺使用說明
此處,手動尷尬,HotFix管理后臺地址打開后無響應(Are you Kidding me?)
Step1 創建應用
HotFix會同步您所有的百川應用,并區分操作系統:Android,iOS。
您也可以在HotFix控制臺新增一個百川應用。
您一共可以創建iOS應用10個,Android應用10個。
Step2 獲取SDK配置信息
您可以在應用管理頁面獲取配置SDK所需要的基本信息。包括:
AppID:用于AppID是百川上應用的唯一標識RSA密鑰: RSA密鑰是保存在客戶端本地用于解密patch包過程中使用的解密密鑰。(推薦使用chrome瀏覽器下載)App Secret:用于URL請求時生成合法驗簽標識的key。特別注意:如找不到下圖所示頁面,請查看本篇文檔開頭,區分“百川控制臺”&“HotFix管理后臺”。
Step3 創建版本
您可以在HotFix控制臺創建版本。(推薦使用chrome瀏覽器)
版本號:用戶自行輸入,版本號是為以.分割的多段數字,如1.0.1。版本號必須與用戶App內的appVersion相同。如果不相同將導致補丁發布不成功。Step4 上傳補丁文件
在版本詳情頁面,您可以上傳補丁文件。
補丁文件名稱規范:
Android:文件名必須為 baichuan-hotfix-patch.jariOS:文件名必須為 *.zip,對于集成1.2.0之前版本的SDK文件名必須為main.js如何生成Android補丁文件:見文檔生成Patch補丁
如何生成iOS補丁文件:見文檔iOS Patch文件生成
也可以瀏覽補丁狀態。
等待中:補丁上傳成功,等待操作。已灰度:補丁正在進行灰度發布。已發布:補丁已全量發布至所有設備。已停止:補丁發布行為已暫停。Step5 發布補丁
HotFix提供了多種發布方式,方便您根據自身業務需要選擇性使用。 5.1 本地測試
HotFix提供了調試工具實現本地測試,方便您在正式發布前,在您的手機本地進行測試。 步驟如下:
安裝HotFix 調試工具。使用HotFix 調試工具獲取補丁。Android調試工具使用說明iOS調試工具使用說明5.2 灰度發布
HotFix提供灰度發布模式,您可以在控制臺設置灰度設備數,系統會將該補丁隨機推送至指定數量的設備。其余設備將不會更新該補丁。
設備數:指設備請求更新該補丁的次數,并不等于絕對設備數。例如:1個設備請求了2次更新該補丁,則會消耗掉2的設備數。灰度后可以根據自身需要停止本次灰度發布,停止后可以選擇:
重設灰度發布規則,新的規則中設備數必須大于之前的值。改為全量發布?;貪L版本(如果存在歷史版本)見Step7 發布回滾5.3 全量發布
HotFix提供全量發布模式,選擇全量發布后,將對所有安裝了當前應用版本(即之前創建應用時所填寫的應用版本號)的設備推送該補丁。
與灰度發布類似,在全量發布會可以根據自身需要停止本次全量發布,停止發布后可以選擇:
繼續全量發布?;貪L版本(如果存在歷史版本)見Step7 發布回滾Step6 停止發布
HotFix提供停止發布功能,用戶選擇停止發布后,系統將停止該補丁的繼續發布。但已加載該補丁的設備會依然保持安裝該補丁的狀態。
Step7 發布回滾
HotFix提供發布回滾功能,用戶選擇回滾的目標補丁后,所有該應用版本下的設備都會回滾到目標補丁的版本。
使用回滾功能必需要具備一下幾個條件:
當前的版本已停止發布。該版本之前存在至少一個歷史版本。Step8 繼續發布
HotFix提供繼續發布功能,用戶選擇繼續發布后,將可以重新設置發布規則。
如果當前版本在停止前處于灰度中,繼續發布可以:
重設灰度發布規則,新的規則中設備數必須大于之前的值。改為全量發布。如果當前版本在停止如果處于全量發布,繼續發布可以:
繼續全量發布。Step9 數據統計
HotFix目前提供兩種數據信息。
成功推送設備數:每當有設備發起一次更新請求,且補丁下載成功,則記為一次成功推送。累計加載設備數:每當有設備成功加載該補丁,則記為一次累計加載。注:后臺數據可能有少許延遲。
Step10 補丁一鍵清除
HotFix提供補丁一鍵清除功能。開發者可以對指定應用版本下面的所有補丁進行一鍵清除操作。
開發者操作一鍵清除后,app用戶在下一次打開應用時,HotFix SDK將清除本地所有補丁,回滾至該應用版本的無補丁狀態!請謹慎操作。開發者操作一鍵清除后,管理后臺的歷史補丁將處于“已刪除”狀態,開發者不可再對補丁執行除瀏覽外的任何操作。為保證一鍵清除功能可用,請保證iOS SDK版本為1.2.1及以上,Android SDK版本為1.4.0及以上。>
新聞熱點
疑難解答