如何调试Xposed模块不用重启

我想做过Xposed模块开发的一定对调试模块必须要重启手机这个机制不陌生, 拜这个机制所赐每次开发起来苦不堪言。稍微改点东西就需要重启手机少则几十秒要是碰到性能稍差一点的手机几分钟也是有可能的。那我们今天就来好好聊聊怎么才能让修改后的代码即时生效呢?首先要搞清楚这个问题还必须从为什么插件每次修改都要重启手机说起,我们可以通过Xposed开发文档了解到Xposed的工作方式是通过替换/system/bin/app_process这个二进制文件来实现的进程注入的,我们知道app_process是所有进程的启动入口所以xposed替换了这个文件修改了内部执行逻辑优先去加载我们的插件然后再去加载原始的App代码所以才得以实现各种hook,但是问题就出现在加载插件上了,默认的第一次加载插件时系统会在/data/dalvik-cache/创建一份字节码文件给需虚拟机执行,但是因为这个文件只会在第一次加载的时候创建所以当我们修改了插件后再安装这个文件是不会变的,这也就导致我们的改动不会立即生效需要重启手机让系统生成一个新的字节码文件,那肯定有小伙伴会想那我手动把这个字节码文件删了呢?很遗憾我在Android7.0上尝试了一下并未成功原因未知。

阅读更多...
  • Copyrights © 2015-2025 Kaisar
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信