admin管理员组文章数量:1548489
一、PC电脑不能直接访问Android模拟器系统的原因
Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身为10.0.2.15/127.0.0.1。然而PC电脑并没有为Android模拟器系统指定IP,所以PC只能通过端口重定向来实现和Android模拟器的通信。
二、PC电脑和Android模拟器系统之间通信
1、运行模拟器
2、打开window 命令行,执行:
telnet localhost 5554
5554是模拟器的端口(位于Android模拟器窗口标题栏),执行之后会进入android console
3、验证身份
auth XXXXXXXXX
身份验证令牌可以在下列位置找到:
- 在 Windows 上,该文件位于您当前的用户文件夹中
c:\Users\<current_user>\.emulator_console_auth_token
- 在linux上
~/.emulator_console_auth_token
4、在console下执行:
格式:redir add < udp/tcp >:< pc端口 >:< 模拟器端口 >
例如:redir add udp:2888:2888
redir add tcp:2888:2888
执行此命令之后,会把PC 2888 端口接收到的tcp/udp数据转到模拟器的2888端口。
三、多个Android模拟器系统之间通信
1、启动模拟器emulator-5554和emulator-5556
2、打开dos窗口执行telnet localhost 5554连接到模拟器5554
3、成功连接后,继续执行:redir add tcp:5000:6000将PC端口5000绑定到模拟器5554的端口6000上。
4、此时模拟器5556通过向PC电脑端口5000(即地址:10.0.2.2:5000)发送tcp/udp数据包跟模拟器5554通信。
5、同理根据步骤2、3来实现PC电脑对模拟器5556的端口转发。
添加成功后,我们可以用redir list命令来列出已经添加的映射端口,redir del可以进行删除。
四、从主机网络中其它主机访问Android模拟器
可以通过网络得定向
-
windows
-
查看所有规则
netsh interface portproxy show all
-
新增
netsh interface portproxy add v4tov4 listenaddress=192.168.11.49 listenport=5554 connectaddress=127.0.0.1 connectport=5554
解析:监听192.168.11.49:5554端口的所有数据, 转发到127.0.0.1:5554
-
删除一条规则
netsh interface portproxy delete v4tov4 listenport=5554 listenaddress=192.168.11.49
解析:删除监听192.168.11.49:5554端口的规则
-
-
linux
iptable端口重定向 MASQUERADE
参考
设置 Android 模拟器网络
发送模拟器控制台命令
解决两个 Android 模拟器之间无法网络通信的问题
PC电脑和Android模拟器访问及模拟器之间tcp/udp通信
Windows netsh命令 端口数据重定向
版权声明:本文标题:主机与Android模拟器互相通信 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727209006a1102552.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论