【问题标题】:adb port forwarding to listen on all interfacesadb 端口转发侦听所有接口
【发布时间】:2019-05-14 12:19:38
【问题描述】:

我正在尝试将 TCP 端口从本地机器重定向/转发到设备(我有一个服务器在给定端口上侦听)。我使用的命令如下:

adb forward -a tcp:5555 tcp:5555

但是,当我查看 netstat 时,我发现 adb 只在 127.0.0.1 上侦听。我需要 adb 来监听任何 IP,而不仅仅是本地主机。这可能吗?

【问题讨论】:

标签: android adb


【解决方案1】:

围绕这个问题看了一段时间后,我终于找到了解决方案。似乎无论出于何种原因 adb 都没有处理“-a”选项(对我来说,这似乎是 adb 中的一个错误 .. 但我不确定)。另一种方法是启动守护程序服务器并将此选项传递给它,如下所示:

adb -a nodaemon server start

一旦我们启动服务器,tcp 转发现在正在侦听所有接口而不是本地主机。

[编辑]

有时您可能会收到如下错误:

>  could not install smartsocket listener: Address already

这是因为已经有一个 adb 服务器在运行,所以你必须在启动新服务器之前杀死它。

【讨论】:

  • 我收到此错误 ./adb -a nodaemon server start adb F 05-16 05:37:57 11250 11250 main.cpp:153] 无法安装 smartsocket 监听器: 地址已在使用中止(核心转储)
  • 当您有另一个 adb 服务器已经在运行时会发生这种情况。您必须在启动之前杀死正在运行的 adb。
  • 这很隐蔽,很奇怪,但是有效!!
  • 谢谢你,这对我帮助很大。我只想再补充一件事。要停止当前运行的 adb 进程,您必须退出 IntelliJ/Android-Studio。如果您在 IntelliJ/Android-Studio 仍在运行时手动“杀死”正在运行的 adb 进程,它将不断重启 adb 进程!
猜你喜欢
  • 2015-02-22
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多