有没有一种简单的方法来设置android emulator以访问主机的LAN?

有没有一种简单的方法来设置android emulator以访问主机的LAN?,android,android-emulator,Android,Android Emulator,我想从android emulator访问局域网上的一台机器提供的web服务 如果服务运行在模拟器运行的同一台机器上(称为主机),我可以添加网络重定向,并使用正确的端口访问10.0.2.2(模拟器中的主机环回接口) 但是,它正在局域网上的另一台机器上运行。我想我可以在上面的重定向之外在主机上添加另一个重定向(不过必须使用iptables…),但是否存在更简单的解决方案?您可以获得一个实际的android设备并将其连接到LAN(我已经这样做了) 您如何连接到主机?通过html?因为如果你的应用程序

我想从android emulator访问局域网上的一台机器提供的web服务

如果服务运行在模拟器运行的同一台机器上(称为主机),我可以添加网络重定向,并使用正确的端口访问10.0.2.2(模拟器中的主机环回接口)


但是,它正在局域网上的另一台机器上运行。我想我可以在上面的重定向之外在主机上添加另一个重定向(不过必须使用iptables…),但是否存在更简单的解决方案?

您可以获得一个实际的android设备并将其连接到LAN(我已经这样做了)

您如何连接到主机?通过html?因为如果你的应用程序需要与机器的硬线连接,那么对于移动设备来说,这不是一个很好的解决方案。

好吧,它只起作用(TM)

在我测试之前阅读的android emulator手册中(我尝试在做事情之前使用RTFM),说明了以下内容:

emulator的每个实例都运行在虚拟路由器/防火墙服务后面,该服务将它与开发机器的网络接口和设置以及internet隔离开来。仿真设备无法在网络上看到您的开发计算机或其他仿真程序实例。相反,它只看到它通过以太网连接到路由器/防火墙


这让我觉得它无法访问我的局域网。我错了,只是在我的局域网上添加了服务器的IP,允许我从emulator访问它。

正如我们所知,emulator可以通过IP 10.0.2.2访问主机,所以我尝试了IP转发,但我无法使其正常工作:|

我按照下面的链接将请求从本地主机(emulator为10.0.2.2)转发到LAN中的另一台机器


自2018-08年起,“it just works(TM)”证书似乎已被撤销

以下是访问本地网络中的服务器所需的内容:

host ip (my pc): 192.168.15.102/24 
      server ip: 192.168.200.33/24
使用
netsh

netsh interface portproxy add v4tov4 listenport=80 connectport=80 connectaddress=192.168.200.33
启动移动设备模拟器并浏览至10.0.2.2 (如附件所述):

10.0.2.2 主机环回接口的特殊别名(即开发计算机上的127.0.0.1)


如果它是html,我看不出有问题。是的,我已经用我的android设备测试过了,它可以工作了。不过,如果能够使用模拟器也能做到这一点,那就太好了。你说的强硬是什么意思?它不是html,而是TCP上的一个客户端命令接口,非常相似。@Dediqated:我认为Longfield的意思是,您可以通过仿真器的正常IP地址将局域网上的机器作为目标。然而,在实践中也存在局限性;注意:防火墙(主机或主机连接的设备上的程序)可能会干扰,目前不支持IGMP和多播。我可以选择连接到其他wifi LAN吗?