我们在动态调试app的时候,需要在APP的AndroidManifest.xml文件中添加android:debuggable="true",然后重打包apk安装之后进行调试。
如何不进行重打包就能调试app呢?下面主要介绍两种方法:
1. 修改boot.img
不歪同学在http://bbs.pediy.com/showthread.php?t=197334 这篇帖子中提到修改boot.img,从而打开系统调试,这样就可以省去给app添加android:debuggable="true",再重打包的步骤了。(这个方法不歪同学讲的很详细了,我就不展开了)
2. 直接修改系统属性
使用setpropex工具在已经root的设备上修改只读的系统属性。使用此工具来修改ro.secure和ro.debuggable的值。
工具地址:https://github.com/poliva/rootadb
系统原始值:
使用setpropex工具修改:
调用adb root命令,重启手机中adbd进程。
处理完上述步骤之后,我们就可以调试进程了。只需要重新启动我们要调试的进程即可。
当然,如果需要调试长期存在系统中的服务和进程等,那么我们可以强制重启android的Dalvik层,可以简单的结束system_server进程。
如上kill命令执行后,此时该设备会重启,表示系统正在重启Dalvki层。重启完毕之后,我们就可以看到所有的进程了。
两个方案的优缺点
第一个方案是持久型,一次修改,终身受用,系统重启不影响,但是操作比较麻烦。
第二个方案重启之后就失效了,但是操作相对比较方便。
时间: 2024-11-08 07:56:17