最近 因為業務需要,學習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陣列的最前面,讓虛擬機器去載入修復完後的方法。目前,沒有試用過,以後再說。二 ...