Android应用调试之修改debuggable的一系列姿势

  • Post author:
  • Post category:其他





前言

我们想调试一个Android应用时,往往需要保证该应用的apk文件是debuggable,或者当前手机是debuggable模式的,下面就介绍一下修改调试模式的几种常用方法




一、应用无签名/完整性校验



1.借助apktool

(1) java -jar apktool_2.4.0.jar d target.apk -o out #将目标apk反编译到out目录下
(2) 编辑AndroidManifest.xml文件,在application标签下修改或者添加 android:debuggable="true"
(3) java -jar apktool_2.4.0.jar b out -o target_debug.apk #将out目录回编译为apk
(4) 重新签名安装即可



2.借助xml2axml

工具下载链接:

https://github.com/hzw1199/xml2axml

(1) unzip target.apk AndroidManifest.xml #将清单文件解压出来
(2) java -jar xml2axml-1.1.0-SNAPSHOT.jar d AndroidManifest.xml manifest.xml #将清单文件反编译为文本文件
(3) 编辑manifest.xml文本文件,在application标签下修改或者添加 android:debuggable="true"
(4) java -jar xml2axml-1.1.0-SNAPSHOT.jar e manifest.xml AndroidManifest.xml #将修改后的文本文件回编译为二进制清单文件
(5) zip target.apk -d AndroidManifest.xml #删除apk中原来的清单文件
(6) zip target.apk AndroidManifest.xml #添加修改后的清单文件到目标应用中
(7) 重新签名安装即可



3.自定义axml

基于Android xml文件的解析库(

https://github.com/wtchoi/axml

) , 可以参照大佬的测试类,在application的标签下添加android:debuggable=”true”属性进去,如果需要自动化操作的话可以考虑使用这种方式,具体就不放了,有兴趣的可以自行研究下



二、应用有签名/完整性校验

事实上,在实际操作时可能目标应用做了签名校验或者完整性保护等措施,这时候就不能用上述修改apk文件的方式了,但是可以借助magisk root直接修改手机为debuggable, 可以说是非常的方便了!

如果你的手机刚好有magisk root了,只需要简单的几个命令就可以了,具体操作如下:

adb shell #adb进入命令行模式
su #切换至超级用户
magisk resetprop ro.debuggable 1
stop;start; #一定要通过该方式重启

(参考链接:

https://www.cnblogs.com/yongfengnice/p/15620235.html

)




总结

以上就是我自己用过的几种修改debuggable的姿势了。其实还有一些其他的方法例如:

https://bbs.pediy.com/thread-246081.htm

,文章写的很清楚,有兴趣的也可以研究下



版权声明:本文为qq_33530663原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。