如何将本地主机IP地址转发到Android模拟器?

时间:2011-02-21 09:35:44

标签: android android-emulator ip

我知道可以将我的开发机器上的端口转发到Android模拟器,但这是如何完成的? 我在Android开发者网站上找到了解决方案,但我看不出他们的意思如何...... 有人对此有明确的指示吗?我的开发机器正在运行Windows。

3 个答案:

答案 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