有关于热修复插件化

热修复

主流两类:

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插件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 在Android开发中,插件化和热修复的话题越来越多的被大家提及,同时随着技术的迭代,各种框架的发展更新,插...
    IAM四十二阅读 61,635评论 12 193
  • 针对app线上修复技术,目前有好几种解决方案,开源界往往一个方案会有好几种实现。重复的实现会有造轮子之嫌,但分析解...
    石先阅读 10,532评论 2 34
  • 转载请注明出处:PathClassLoader和DexClassLoader区别和各自在mutidex,热更新等的...
    陈文超happylion阅读 9,493评论 1 12
  • 发现简书,是在看杂志的时候,杂志的推荐,另外还有空空狐,当时进来以为都是写文章的,不过发现很多写的也还不错,起码对...
    icenice阅读 1,800评论 0 0
  • 嘴上叫嚣要耍流氓的,往往内心都很纯洁。你信么?反正我信。 原来在饭桌上听到别人讲采蘑菇的笑话,我笑得最快笑得最响亮...
    Arale阅读 3,477评论 0 2