【问题标题】:Is there a way to inquire the port forwarding done by Android Studio?有没有办法查询Android Studio完成的端口转发?
【发布时间】:2016-03-25 01:00:37
【问题描述】:

如果 Android Studio 正在我的开发机器上运行,当我使用以下命令从命令行在设备上启动应用程序时:

$ adb shell am start -D -n -a ...

Android Studio 会立即将本地主机上的一个端口(8600 及以上)转发到应用的 jdwp 端口,以便 Android Studio 中的调试器可以在必要时调试应用。

现在,如果我想使用第 3 方调试器(而不是 Android Studio 中的调试器)来调试应用程序,我需要将该调试器连接到由 Android Studio 转发到该应用程序的端口,以让调试工作。

我的问题:如何确定该端口是什么?

以下是我尝试过的几件事(无济于事):

  1. $ adb forward --list

    唉,Android Studio 完成的转发没有显示出来。

  2. $ adb forward tcp:9010 jdwp:

    调试器连接到 9010 失败,可能是因为 jdwp 端口已经被 Android Studio 的端口转发锁定了。

  3. 我可以打开 DDMS 并查看分配给应用程序的端口。但我需要的是一个 API 或文本输出,以便我可以通过编程方式获取该信息?

您的见解将不胜感激。

【问题讨论】:

    标签: debugging android-studio adb portforwarding ddms


    【解决方案1】:

    如果你查看你的电脑上的开放端口和过滤器正在被 android studio 使用,希望你得到你想要的。 在windows中-

    netstat -aon

    在linux中:-

    netstat -lptu

    请检查上述命令的选项。

    【讨论】:

    • 谢谢你的建议,里尔万。 netstat 确实可以给我 Android Studio 使用的端口列表,但它不能告诉我哪个端口映射到哪个应用程序。
    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2017-04-08
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多