这个问题的起源是一个安卓学员发现在一台Pixel6的安卓16设备上,调试debugable的APK程序时,adb jdwp无输出的问题。不能打印jdwp端口,就没办法adb forward转发后开IDA的调试。指令流程 adb install app-release.apk adb shell am start -D -n com.example.ctf/.MainActivity adb shell ps -A | grep com.example adb jdwp
我本地测试一加ACE 3Pro的安卓15,同样是没有输出。然后,我就让他使用LLDB在安卓Termux上直接调试会更简单。
但是他还是想弄清楚这个问题的底层原理,于是他经过一翻摸索,找到了原因。并把方案告诉了我。
https://android.googlesource.com/platform/packages/modules/adb/+/refs/heads/android15-s1-release/libs/adbconnection/adbconnection_client.cpp
我本机看了下,果然有安装类似的插件,并且adbd是stopped。不过我没卸载插件,只是让adbd起来。然后测试,发现成功了!
不错!在此给这位学员点赞!
希望大家在遇到技术问题尝试解决时,不是像我这样第一时间考虑换方案,而是能够像他一样保持探索的精神。