MicroKibaco / CrazyDailyQuestion

每日一问: 水滴石穿,聚沙成塔,坚持数月, 必有收获~
35 stars 1 forks source link

2019-12-31:热修复框架如何解决Davik虚拟机下类的pre-verify问题?有哪些优缺点? #64

Open MicroKibaco opened 4 years ago

MicroKibaco commented 4 years ago
热修复框架 解决方式 优势 缺陷
QQ空间 每个类中插入一个来自其他dexhack.class,由此让所有类都无法满足pre-verifed条件 不建议使用 侵入打包流程,无法新增public函数,臃肿,实现起来不优雅
Tinker 合成全量dex文件,所有的类都在全量dex中解决,从而消除类重复冲突 对dex内容的比较粒度过细,实现较为复杂,性能消耗严重,空间替换时间性价比不高 大大减少空间
QFix 获取虚拟机中的某些底层函数,提前解析所有补丁类 使用简单 无法新增public函数,无法获取虚拟机底层函数,不够稳定可靠