熱修復
主流兩類:
1.底層替換方案社痛,例andfix:在native層將ArtMethod字段替換,sophix ArtMethod整體替換,直接memcopy,(其中的ArtMethod,size谎仲,使用數(shù)組中相鄰元素的地址相減得出)。
2.類加載方案刨仑,替換DexClassLoader 中Element[] dexElements郑诺,直接替換dex
插件化:
1.ClassLoader加載dex,使用反射調用Activity生命周期
2.使用hook贸人,騙過系統(tǒng)Activity的AndroidManifest.xml 驗證间景,使用hook定制自己的LoodApk ,以及ClassLoader 加載插件艺智,也可以使用DexClassLoader 中Element[] dexElements倘要,add插件。