码迷,mamicode.com
首页 > 其他好文 > 详细

热修复

时间:2016-05-05 19:11:50      阅读:189      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!