简介
AndFix是"Android hot-fix"的简写,用于在线解决Android应用程序的bugs的Android库。AndFix支持Android2.3到Android6.0,支持ARM和X86架构。
原理
实现原理是通过改变内部方法来修改bugs
修改过程
使用方法
1.添加依赖库
1 | dependencies { |
2.在应用启动时初始化
1 | patchManager = new PatchManager(context); |
3.在启动时加载补丁
1 | patchManager.loadPatch(); |
4.在开启页面下载新补丁
1 | patchManager.addPatch(path); //path是文件保存的地址 |
补丁制作工具
AndFix提供了apkpatch工具用于制作补丁
下载地址
制作过程:
1.先要有一个原始包和一个修改过bugs的包
2.在apkpatch工具目录使用以下命令制作补丁文件
1 | apkpatch -f <new> -t <old> -o <output> -k <keystore> -p <> -a <alias> -e <> |
存在的问题
- 在64位平台上使用会崩溃
崩溃日志
1 | Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8000112cbc010 in tid 31274 |
解决办法:强制使用armeabi平台上的引用包
1 | splits { |
- 同一个方法不能修改多次
同一个方法修改多次会报错
修改办法:在addPatch前先删除之前的patch
1 | patchManager.removeAllPatch(); |