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

Tha*_*e90 10 ip android android-emulator

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

Tha*_*e90 20

要将端口从本地计算机转发到Android Emulator,您需要启用Telnet.这可以通过控制面板 - >程序和功能 - >打开或关闭Windows功能 - >向下滚动到Telnet客户端.然后选择它并按确定.现在从您的命令提示符(运行模拟器)中键入telnet localhost "EmulatorPortNumber"."EmulatorPortNumber"可以在模拟器的标题栏中找到,在我的例子中它是5554.

您现在将看到与此类似的内容:

Android Console: type 'help' for a list of commands
OK
Run Code Online (Sandbox Code Playgroud)

在这里,你想输入尽可能少的拼写错误,就像你应用退格时一样,它会破坏你的命令而不接受它.你必须在这里使用的命令是redir.这将允许您从3个子命令中进行选择:

list    list current directions
add     add new redirection
del     remove existing redirection
Run Code Online (Sandbox Code Playgroud)

你现在需要的是添加.但你不能就这样使用它.打字redir add会给你以下一行:

KO: bad redirection format, try (tcp|udp):hostport:guestport
Run Code Online (Sandbox Code Playgroud)

这意味着您必须指定要转发的端口类型(TCP或UDP端口),要转发的本地计算机上的哪个端口(hostport)以及要在模拟器(guestport)上设置的端口.所以,使用这样的命令:

redir add udp:1337:12345
Run Code Online (Sandbox Code Playgroud)

将本地计算机上的UDP端口1337转发到仿真器上的端口12345.请注意删除重定向,因为它们可能会使您的模拟器崩溃.您也可以简单地关闭模拟器以删除任何重定向.它更容易,更安全......

  • 进入 Telnet shell 访问“redir”命令后,您需要通过运行“auth <emulator_auth_token>”命令来授权自己。模拟器令牌可以在 (Windows) 文件中找到:c:/users/<your_username>/.emulator_console_auth_token。只需打开此文件,复制代码并插入到 telnet 终端中的“auth”命令之后 (2认同)

Ama*_*lam 15

您可以访问您的计算机localhost10.0.2.2从模拟器.这里有更多细节

  • 如果您确实发现了,请将其粘贴到此处,以便寻求解决方案的其他人也可以获得帮助. (6认同)

Ami*_*yan 9

您可以使用adb forward命令设置任意端口转发 - 将特定主机端口上的请求转发到仿真器/设备实例上的其他端口.以下是如何设置主机端口6100到仿真器/设备端口7100的转发:

adb forward tcp:6100 tcp:7100
Run Code Online (Sandbox Code Playgroud)

例如,在AVD上运行NanoHTTPD Web服务器,然后在计算机上执行以下命令:

adb forward tcp:8080 tcp:8080
Run Code Online (Sandbox Code Playgroud)

打开计算机上浏览器并导航以下地址:

localhost:8080
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/tools/help/adb.html#forwardports