设置测试机的ro.debuggable=1

Author Avatar
贾康 1月 01, 2018

背景

最近写微信的xposed插件需要动态调试微信.但是由于微信的build.config=false,所以无法调试.搜索得知需要将微信运行到ro.debuggable=1的安卓系统上.

过程

  1. 首先想到的是更改虚拟机的启动参数,更改后调试确实可以看到各种进程,但是装不上微信,因为虚拟机是x86的.安装微信会提示找不到*so,据说需要安装一个x86转arm的东西,搞了半天也没搞好.
  2. 于是我新建了一个arm的虚拟机,可是arm的虚拟机实在是太慢了.也没有什么好办法
    来优化虚拟机. 于是我决定拿自己的手机来搞一搞.
  3. 我在我的红米note4x根目录下搜索debuggable,找到了default.prop,听起来就像是要改的地方.把0改成1,然后重启,发现又变成了0,去网上查资料发现自己太天真了.资料上说需要修改boot.img,然后刷回手机.
  4. 需要手机的boot.img,按照搜到的资料提取出boot.img,觉得不太对,因为大小只有1kB,使用bootimg.exe解开报错.再三尝试,也没有从手机中提取到合适的boot.img
  5. 于是起了刷机的念头,我的手机是解了bl锁,root过的,所以搞起来会方便一些.
    正好最近miui9发布了,把开发版下载下来.解压,修改boot.img.然后压回去,我们修改的内容仅是ro.debuggable=1,照常规刷机流程把rom刷进去就好了.(贴吧真是个神奇的地方..)
  6. 成功!
    upload successful

写在后边.

这样离调试微信的目标又近了一步,另外我决定去淘个nexus6p,自己编译一个系统灌进去,据说这样调试起来会方便许多.