2010-08-05 46 views
33

这是一个关于在an​​droid上使用adb的查询。adb远程端口转发到本地计算机

有没有办法将android设备/模拟器上的远程端口(即端口)转发到设备所连接的本地机器?

$ adb forward tcp:port1 tcp:port2#将机器上的本地端口port1转发到设备上的端口2。

在此先感谢!

+0

我现在处于类似的情况,但我认为我只是走不同的路线:将应用程序绑定到127.0.0.1:12345并隧道到该端口。你为什么非常关心启动连接的人?一旦建立了TCP连接,双方都可以通话/收听? – 2011-12-29 11:29:13

回答

2

你真的需要转发端口,还是只是寻找一种使用android shell上运行的程序的套接字与主机进行通信的方式?我能够通过将消息发送到主机上的回送适配器“10.0.2.2”上的关注端口来完成后者。请参阅文档here

编辑
这是更新link

+25

如何用设备而不是仿真器来实现这一点? – Johnny 2011-06-27 08:50:33

+9

@Johnny在真实的设备上,您可以使用adb reverse。例如,如果你的主机上有一台监听端口8080上的服务器,并且你想要将设备上的端口8000反向转发给它,你可以使用'adb reverse tcp:8000 tcp:8080' – sacha 2015-04-01 14:02:53

+1

@sacha I在adb reverse命令中找不到任何文档。它确实存在吗?什么版本的SDK? – akuz 2015-04-27 10:50:26

22

最近在Google更新ADB服务。并添加reverse命令应该做的工作。

reverse从文档:

这实现了adb reverse特征,即,从一个设备到主机反转 套接字连接的能力。 <forward-command>是如上所述的转发命令之一 ,如:

  1. list-forward
  2. forward:<local>;<remote>
  3. forward:norebind:<local>;<remote>
  4. killforward-all
  5. killforward:<local>

注意,在这种情况下, <local>对应于设备上的插座 和<remote>对应于主机上的插座。

reverse:list-forward的输出与主机:列表转发 相同,只是<serial>将只是host

相关问题