當應用發佈1.0版本後,此時發現bug,需要開發人員定位解決後交付測試驗證,然後發佈新版本,推送到各大市場,再給用戶下載安裝更新,以解決bug。然而用戶更新的覆蓋率一般不會高於70,且需要較長的週期。在這個場景下,提出了熱修復的一種解決辦法,當出現問題時開發人員定位解決後交付測試驗證,然後推送patch包,用戶手機會自動檢測並進行靜默安裝,從而在神不知鬼不覺的情況下解決這個bug。
目前熱修復解決方案有:
阿里系的AndFix(3年前停止維護),HotFix,及收費的Sophix
騰訊系的Tinker、Qzone
美團的Robust
無法對androidmanifest文件進行修改:也就是說,四大組件的增刪改等是無法完成的。
首先知道,android裏面類的加載是依靠ClassLoader完成的。對於Android-Framework裏的類,使用的是BootClassLoader,而對於自己寫的類,使用的是PathClassLoader(可以在xref裏查看)。
#### To be continue [偷偷摸魚中]