最近 因为业务需要,学习AndFix, 现在 给予总结。
1 . AndFix 地址
AndFix 源码的下载、集成、demo ,在上述文档中,已经 很详细了,在此 不做过多的介绍。
2. AndFix 整体流程图
从 次流程图 可以看出,AndFix 运行整个过程,可以帮助我们建立一个整体的印象,帮助我们接下来的具体功能分析
3.关键 代码分析
此 代码 主要 初始化、 加载差分包
解析 .patch 差分包
传入参数 说明
classloader ,类加载器 DVM 或 ART
List<String> classes 保存被改动 的类 全路径
差分包的 备份
sdcard 存放的差分包 copy 到 data/data /xxxx/files/apatch_opt/out.apatch
并验证
解析差分包,找出发生变动的 那个类
该方法 最终 得到 原始类、原始方法、修改后的方法 ,并调用 Native 替换