真机打开调试功能

如果要调试一个App里面的dex代码,必须满足以下两个条件中的任何一个:

  • App的AndroidManifest.xm中Application标签必选包含属性android:debuggable="true";
  • /default.prop中ro.debuggable的值为1

AndroidManifes 添加 android:debuggle=true

可以通过反编译app,在AndroidManifest.xm中Application标签中添加 android:debuggable="true" ,回编译,签名,安装,然后就可以进行动态调试了

ro.debuggable=1(手机需要root)

ro.debuggable是在default.prop里面配置的,ro.debuggable的默认字段是0,我们需要将他设置为1

如果用re文件管理器手动修改或者通过adb修改以后,重启手机后,你会神奇的发现修改又不生效了,这是因为default.prop是系统通过boot.img生成的,手动修改它是没有用的,会被系统覆盖。而手动编译修改boot.img文件复杂又容易出错,这里可以注入init进程,修改内存中的ro.debuggable字段数据为1,可以使用 mprop 工具来实现,如果上述工具不生效的话,可以试试这个

adb push mprop /data/local/tmp # 将下载的mprop 放入 /data/local/tmp 当中
adb shell
su
cat default.prop | grep debug # 查看default.prop里面的配置值,此处是 0
getprop ro.debuggable # 获取ro.debuggable 此处应该是 0
cd /data/local/tmp
chmod 755 mprop # 修改权限
./mprop ro.debuggable 1 # 修改 ro.debuggable 1 的值为 1
cat default.prop | grep debug # 查看default.prop里面的配置值,此处是应该还是 0
getprop ro.debuggable # 获取ro.debuggable 此处应该是 1
stop;start # 重启adbd进程

上面的修改需要在root手机中进行,手机再次重启后需要再次进行一次修改操作。
ok,修改完成后,再次看下是不是可以调试了


真机打开调试功能_第1张图片
debug.png

你可能感兴趣的:(真机打开调试功能)