标签:
hot fix 线上修复
1. dexposed:
这是基于xposed的,xposed:替换/system/bin/app_process,共享java运行时库,让每个app都加载了XposedBridge.jar,在这个jar包中有一个hookMethodNative方法利用反射对内置方法进行覆盖
dexposed将patch apk加载进来,通过DexposedBridge.findAndHookMethod方法找到对应的Method。
slot是Method类中,描述此java对象在vm中的索引;native层通过dvmSlotToMethod方法,我们就获取了c层的Method指针。
SET_METHOD_FLAG(method, ACC_NATIVE);标记成native方法,因为优先执行nativce方法,再method->nativeFunc 指向我们的dexposedCallHandler回调函数
保存hook对象参数到insns。
上面是dalvik的方式,art也是把实现指向native方法调度机制
runtime,修复代码均需要反射
2.
标签:
原文地址:http://www.cnblogs.com/liming-saki/p/5462607.html