平台阿里 andfix
阿里 hotfix1.x
nuwa
美團robust
阿里 hotfix2.x
即時生效
yesyes
nono
yes看情況
效能損耗
較小較小
較大較小
較小較小
補丁包大小
一般一般
較大較小
較小較小
佔rom體積
較小較小
一般較大
較小看情況
接入複雜度
簡單簡單
簡單複雜
簡單簡單
安全校驗
noyes
noyes
noyes
類替換no
noyes
yesno
yes資源替換
nono
yesyes
即將支援
yesso替換
nono
noyes
即將支援
yes全平台支援
nono
noyes
yesyes
開發透明
nono
yesyes
noyes
gradle支援
nono
yesyes
yesno
介面文件
較少豐富
較少豐富
豐富豐富
成功率較低
一般一般
較高最高
較高後台管理
noyes
noyes
noyes
加固相容
yesyes
no部分相容
yes不確定
上表基本涵蓋了具有代表性的各種熱修復方案,涉及到的各種關鍵指標的橫向對比。
slider 中大概總結了各種方案的實現方式,以及常見的問題。
詳細的各種方案原理分析:
Android 熱修復思路整理
流行的熱修復方式 按技術特點劃分 本文採用的熱修復 思路 載入應用程式的classloder classloader classloader context.getclassloader for file file loadeddex 因為系統通過dexclassloder來載入dex,所以需要將新...
Android優化之熱修復
什麼是熱修復呢?熱修復的實現原理 首先,生成新版本和舊版本的差異補丁包檔案 此步驟有點類似於增量更新的第一步 不知不覺中,bug已然修復。阿里的熱修復框架andfix 熱修復有很多方案,其中阿里開源的andfix使用起來比較簡單,而且比較穩定。阿里的andfix框架使用步驟如下 public voi...
Android熱修復原理
修復主要是兩種方案,一種是底層替換方案,一種是類載入方案.這兩種方案各有優劣 底層替換方案是在已經載入了的類中直接替換原有方法,實在原來類的基礎上修改.因此無法實現對原有類的方法和字段的增減,因為這樣將破壞原有的類結構 一旦補丁類中出現了方法的增減,會破壞這個類以及整個dex的方法數的變化.方法數的...