https://github.com/lizhangqu/qfix
https://github.com/lizhangqu/qfix
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lizhangqu/qfix
- Owner: lizhangqu
- Created: 2016-10-14T00:20:10.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-10-13T13:01:26.000Z (almost 9 years ago)
- Last Synced: 2024-04-16T11:21:23.830Z (over 1 year ago)
- Language: Java
- Size: 1.83 MB
- Stars: 21
- Watchers: 4
- Forks: 52
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QFix
QFix是手Q团队近期推出的一种新的android热补丁方案,在不影响app运行时性能(无需插桩去preverify)的前提下有效地规避了dalvik下"unexpected DEX"的异常,而且还是很轻量级的实现:一行代码调用一个简单的方法就能办到。该组件还是基于java classLoader的补丁方案,但对dalvik下“unexpected DEX”异常提供了全新的轻量级的解决思路。
PatchTool.jar
提供补丁注入、卸载的java接口,封装补丁类resolve的java接口
libResolvePatch.so
提供arm/x86平台库
提供resolve补丁类的native接口
ResolvePatchTool.jar
自动输出补丁类所在的dex id和classIdx
不用编译时插桩,也不用对补丁dex进行全量合成,dex安装后,只需调用以下方法:(示例)
String[] referrerList = new String[] {"LFoo2;"};
long[] classIdList = new long[] {2};
HotPatchTool.resolvePatchClass(this, referrerList, classIdList, 1);