我知道可以将我的开发机器上的端口转发到Android模拟器,但这是如何完成的? 我在Android开发者网站上找到了解决方案,但我看不出他们的意思如何...... 有人对此有明确的指示吗?我的开发机器正在运行Windows。
答案 0 :(得分:20)
要将端口从本地计算机转发到Android模拟器,您需要启用Telnet。这是通过控制面板完成的 - >程序和功能 - >打开或关闭Windows功能 - >向下滚动到Telnet客户端。然后选择它&按确定。现在从命令提示符(运行模拟器)中键入telnet localhost "EmulatorPortNumber"
。 “EmulatorPortNumber”可以在模拟器的标题栏中找到,在我的例子中是5554。
现在您将看到类似的内容:
Android Console: type 'help' for a list of commands
OK
在这里,你想要输入尽可能少的拼写错误,就像应用退格键时一样,它会破坏你的命令而不接受它。您必须在此处使用的命令是redir
。这将允许您从3个子命令中选择:
list list current directions
add add new redirection
del remove existing redirection
你现在需要的是添加。但你不能像那样使用它。输入redir add
将为您提供以下内容:
KO: bad redirection format, try (tcp|udp):hostport:guestport
这意味着您必须指定要转发的端口类型(TCP或UDP端口),要转发的本地计算机上的哪个端口(hostport)&您要在模拟器(guestport)上设置的端口。 所以,使用这样的命令:
redir add udp:1337:12345
将本地计算机上的UDP端口1337转发到仿真器上的端口12345。请注意删除重定向,因为它们可能会使您的模拟器崩溃。您也可以简单地关闭模拟器以删除任何重定向。它更容易和更安全...
答案 1 :(得分:15)
您可以从模拟器访问计算机的localhost
10.0.2.2
。更多详情here
答案 2 :(得分:7)
您可以使用adb forward命令设置任意端口转发 - 将特定主机端口上的请求转发到仿真器/设备实例上的其他端口。以下是如何设置主机端口6100到仿真器/设备端口7100的转发:
adb forward tcp:6100 tcp:7100
例如在AVD上运行NanoHTTPD Web服务器,然后在计算机上执行此命令:
adb forward tcp:8080 tcp:8080
打开计算机上的浏览器,然后导航以下地址:
localhost:8080
http://developer.android.com/tools/help/adb.html#forwardports