热修复
主流两类:
1.底层替换方案,例andfix:在native层将ArtMethod字段替换,sophix ArtMethod整体替换,直接memcopy,(其中的ArtMethod,size,使用数组中相邻元素的地址相减得出)。
2.类加载方案,替换DexClassLoader 中Element[] dexElements,直接替换dex
插件化:
1.ClassLoader加载dex,使用反射调用Activity生命周期
2.使用hook,骗过系统Activity的AndroidManifest.xml 验证,使用hook定制自己的LoodApk ,以及ClassLoader 加载插件,也可以使用DexClassLoader 中Element[] dexElements,add插件。