2014-04-07 29 views
0

Android的DVM在JDWP协议上使用DDM协议。在文档和示例中,ADB是必需的(实际上ADB是Android调试桥)。JDWP可以用于没有ADB的真实设备吗?

我的问题是:是否有可能开发一个APK与所有的DDM或JDWP协议,以追踪真实设备中的应用程序?还是有任何保护?

回答

1

Android应用程序被配置为与ADB守护进程通信以获得JDWP连接。 DDMS查询ADB守护进程以获取可调试进程的列表。 (输入adb jdwp即可自己查看列表。)

如果Dalvik配置为侦听TCP套接字,您可以使用adb forward来设置端口转发,并直接通过TCP将调试器连接到它。在DDMS存在之前的早期,开发就是这样完成的。

(为了这一天,各地线4185在ActivityThread,你可以看到它宣布它在等待在端口8100历史爱好者也可以发现在DDMS design doc“连接建立”一节有趣的。不知道为什么那个文件夹是全部以斜体表示)。

就目前而言,Dalvik虚拟机仅侦听通过ADB的连接,因此您无法以任何其他方式将基于JDWP的调试器附加到应用程序。

+0

虽然所有这些都是有用的信息(全部已知),但问题仍然存在。有什么办法(伪装adb)来访问JDWP。现在在模拟器中,我有一个APK可以前进并进行JDWP握手。我不知道这是否适用于真实设备。也许调试USB启用?好吧,我想我会在2到3天内自动化我。 :)但坦克 – Marc

+1

我不明白你是什么意思的“伪造ADB” - 你有一个真正的设备上的亚行,为什么你需要伪造它? – fadden

+0

也许假货不是我正在寻找的词。我试图说我是作为亚行客户,但在设备内部。冒充也许?我不知道,但我的想法是,我正在与ADB服务器“开口”以打开一个JDWP频道。 – Marc

相关问题