2010-08-05 66 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

相關問題