Android中熱修復原理及不同框架比較

2021-09-10 02:21:47 字數 368 閱讀 2030

遇到的問題: .setenabledebug(true)//發布時改為false 改為true時除錯的時候報錯,暫時找不到原因,建議不要寫這行**

官方文件首頁:

參考1.第一次修復時成功,當第二次修復時只改變補丁檔案不成功,還必須要重新安裝才能成功

2.修改布局不成功

3.類結構不能改變,andfix不支援新增方法,新增類,新增field,增加成員變數等

5.穩定性與相容性不好

參考 原理參考:   和  

tinker-使用教程與原理分析(上)

android 熱修復方案tinker(四) 資源補丁載入 

參考:下面這個原理比較全面

demo鏈結

Android熱修復原理

修復主要是兩種方案,一種是底層替換方案,一種是類載入方案.這兩種方案各有優劣 底層替換方案是在已經載入了的類中直接替換原有方法,實在原來類的基礎上修改.因此無法實現對原有類的方法和字段的增減,因為這樣將破壞原有的類結構 一旦補丁類中出現了方法的增減,會破壞這個類以及整個dex的方法數的變化.方法數的...

Android 熱修復原理

andfix的原理就是方法的替換,把有bug的方法替換成補丁檔案中的方法。注 在native層使用指標替換的方式替換bug方法,已達到修復bug的目的。andfix採用native hook的方式,這套方案直接使用dalvik replacemethod替換class中方法的實現。由於它並沒有整體替...

Android熱修復原理(二)

阿里系底層熱修復方案特點 修復時,立即生效。但同時帶來各種rom相容問題,也不能做新增field的修復。如sophix andfix阿里系的修復方案 底層替換所操作的指標,實際上是artmethod,在類被載入,類中的每個方法都會有對應的artmethod,它記錄了方法包括所屬類和記憶體位址資訊,a...