首页 > 其他 > 详细

热修复

时间:2016-05-05 19:10:03      阅读:162      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!