AndFix 學習總結

2021-07-25 12:07:46 字數 965 閱讀 3894

最近 因為業務需要,學習andfix, 現在 給予總結。

1 . andfix 位址

2. andfix 整體流程圖

從 次流程圖 可以看出,andfix 執行整個過程,可以幫助我們建立乙個整體的印象,幫助我們接下來的具體功能分析

3.關鍵 **分析

此 ** 主要 初始化、 載入差分包

解析 .patch  差分包

傳入引數 說明 

classloader ,類載入器  dvm 或 art

listclasses  儲存被改動 的類 全路徑

差分包的 備份

sdcard 存放的差分包 copy  到  data/data /***x/files/apatch_opt/out.apatch 

並驗證解析差分包,找出發生變動的 那個類

該方法 最終 得到  原始類、原始方法、修改後的方法  ,並呼叫 native 替換

AndFix的簡單使用

最近在研究熱修復和外掛程式化,寫了個應用andfix的簡單demo,感覺這個熱修復框架還是挺實用的。補丁我直接放在sd卡目錄下了,專案中可以改為從後台獲取,不過還是要注意使用方式,記錄好版本的迭代和補丁的使用,不然打錯補丁的話會直接報錯,專案位址 需要下打補丁的工具,apkpatch 然後在apkp...

AndFix元件化封裝

前言 為了防止框架的引入對自身專案 的入侵,我們有必要對引入的框架利用元件化的思想進行一次封裝。除了防止 入侵以外,同時也簡化了使用,實現了專案的需求。原理 正所謂開具一張圖,內容全靠寫,先來看一下封裝之後 的整體流程 主要的核心思想是 建立乙個後台的fixservice 然後請求伺服器,伺服器返回...

Android 熱更新(阿里andfix)

主要有三種途徑 一 qq空間超級補丁技術 優先載入補丁內的class檔案 超級補丁技術基於dex分包方案,使用了多dex載入的原理,大致的過程就是 把bug方法修復以後,放到乙個單獨的dex裡,插入到dexelements陣列的最前面,讓虛擬機器去載入修復完後的方法。目前,沒有試用過,以後再說。二 ...