我的机器在窗口7上运行。我想 在同一机器上运行的两个android仿真器之间进行通信。 仿真器第一个正在侦听某些IP 10.0.2.15,第二个仿真器尝试 创建IP
Socket socket = new Socket ("10.0.2.15",8080);
它给出了异常,无法连接到10.0.2.15,有人知道如何 解决此问题吗?
编辑:我已经读过 https://developer.android.com/studio/run/emulator-networking#connecting但 它说
在B的控制台上,发出redir add tcp:8080:80
B的控制台是什么意思,或者B的控制台在哪里?
您需要在Windows 7计算机上安装TELNET。为此, 控制面板->程序和功能->打开或关闭Windows功能-> Telnet客户端(必须选中)。
然后,在cmd(命令提示符)中,您可以说adb devices(如果Android SDK 在您的PATH上),它返回诸如emulator-5554和的标识符 emulator-5556。
现在使用telnet,您可以使用telnet localhost 5554或访问它们telnet localhost 5556。
要让他们告诉您它是哪个模拟器,可以键入avd name。
但更重要的是,它告诉您以下内容:
Android Console: Authentication required Android Console: type 'auth <auth_token>' to authenticate Android Console: you can find your <auth_token> in 'C:\Users\[youruser]\.emulator_console_auth_token' OK
这是一个文本文件,其中包含一些随机的神秘文本。
您可以像这样将其复制粘贴到telnet中:
auth cdPi82HewjZg
到它会说OK,现在你可以实际运行该命令的文件说。
现在你可以说
redir add tcp:6000:4000
意思是:if the emulator would receive something to Port 6000 from LocalHost, then it should receive it as 4000
if the emulator would receive something to Port 6000 from LocalHost, then it should receive it as 4000
这意味着您的其他仿真器可以 通过将数据发送到6000通过10.0.2.2魔术 环回IP连接到它,而另一个仿真器将通过端口4000接收它。
10.0.2.2