【发布时间】:2014-04-07 09:39:23
【问题描述】:
Android 的 DVM 在 JDWP 协议之上使用 DDM 协议。在文档和示例中,需要 ADB 作为桥(实际上 ADB 是 Android 调试桥)。
我的问题是:是否可以开发具有所有 DDM 或 JDWP 协议的 APK 以跟踪真实设备中的应用程序?或者有什么保护措施?
【问题讨论】:
标签: android android-debug adb
Android 的 DVM 在 JDWP 协议之上使用 DDM 协议。在文档和示例中,需要 ADB 作为桥(实际上 ADB 是 Android 调试桥)。
我的问题是:是否可以开发具有所有 DDM 或 JDWP 协议的 APK 以跟踪真实设备中的应用程序?或者有什么保护措施?
【问题讨论】:
标签: android android-debug adb
Android 应用程序配置为与 ADB 守护程序对话以进行 JDWP 连接。 DDMS 查询 ADB 守护程序以获取可调试进程的列表。 (输入adb jdwp 自己查看列表。)
如果 Dalvik 被配置为侦听 TCP 套接字,您可以使用 adb forward 设置端口转发,然后直接通过 TCP 将调试器连接到它。在 DDMS 出现之前的早期,开发就是以这种方式完成的。
(直到今天,在 ActivityThread 的第 4185 行附近,您可以看到它宣布它正在端口 8100 上等待。历史爱好者也可能会发现 DDMS design doc 中的“连接建立”部分很有趣。不知道为什么该文档全部用斜体显示。)
目前,Dalvik VM 仅通过 ADB 侦听连接,因此您无法以任何其他方式将基于 JDWP 的调试器附加到应用程序。
【讨论】: