使 Genymotion 获得与我的 wifi 网络相同的 IP
Making Genymotion get the same IP of my wifi network
我正在开发一个应用程序,它需要与桌面应用程序直接通信,该应用程序在连接到我的 wifi 网络的计算机上运行。我正在使用设备进行开发(这很容易,因为计算机和我的 phone 连接到同一网络),但我想改用 Genymotion。但是,我只是无法让 Genymotion 作为我网络的另一台主机工作,因此它可以到达 运行 其他应用程序的计算机。我尝试更改 VirtualBox 设置以使用桥接适配器,但没有成功。如果我能以某种方式为我的虚拟设备分配我 运行 Genymotion 所在的笔记本电脑的 IP,那就太好了。这可能吗?
尝试使用端口转发。
在Ubuntu(details here)中,执行这3条命令:
sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp -d yourIP --dport
portNumberOfTheServerRunningONTheEmulator -j DNAT --to-destination yourEmulatorsIP
iptables -t nat -A POSTROUTING -j MASQUERADE
我在我的机器上试过了,我的模拟器 IP 是 192.168.56.101
,我的 PC 的 IP 地址是 10.0.20.159
。所以我 运行 这些命令:
sudo isysctl net.ipv4.ip_forward=1
假设服务器程序 运行ning 在端口 5555
sudo iptables -t nat -A PREROUTING -p tcp -d 10.0.20.159 --dport 5555 -j DNAT --to-destination 192.168.56.101
iptables -t nat -A POSTROUTING -j MASQUERADE
然后我尝试从网络上的另一台机器连接到模拟器,输入这个地址:10.0.20.159:5555
(结果是 连接被重置 因为我没有实际服务器程序 运行ning 在模拟器上)但是当我尝试使用 d/t 端口时说 10.0.20.159:5595
结果是 无法连接 所以我的猜测在这里PC 是否能够通过端口转发访问模拟器)
我希望它能帮助您尝试使用实际的服务器程序 运行ning。 :)
我刚刚在这里找到了解决方案:http://blog.cloud-mes.com/2014/01/22/enable-genymotion-android-emulator-network-in-enerprise-intranet/
我只需要将适配器设置为桥接模式。诀窍是设置 second 适配器,而不是像我之前那样设置第一个适配器(第一个是为了保持原样,使用 vboxnet0 接口)。再简单不过了。
我正在开发一个应用程序,它需要与桌面应用程序直接通信,该应用程序在连接到我的 wifi 网络的计算机上运行。我正在使用设备进行开发(这很容易,因为计算机和我的 phone 连接到同一网络),但我想改用 Genymotion。但是,我只是无法让 Genymotion 作为我网络的另一台主机工作,因此它可以到达 运行 其他应用程序的计算机。我尝试更改 VirtualBox 设置以使用桥接适配器,但没有成功。如果我能以某种方式为我的虚拟设备分配我 运行 Genymotion 所在的笔记本电脑的 IP,那就太好了。这可能吗?
尝试使用端口转发。
在Ubuntu(details here)中,执行这3条命令:
sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp -d yourIP --dport
portNumberOfTheServerRunningONTheEmulator -j DNAT --to-destination yourEmulatorsIP
iptables -t nat -A POSTROUTING -j MASQUERADE
我在我的机器上试过了,我的模拟器 IP 是 192.168.56.101
,我的 PC 的 IP 地址是 10.0.20.159
。所以我 运行 这些命令:
sudo isysctl net.ipv4.ip_forward=1
假设服务器程序 运行ning 在端口 5555
sudo iptables -t nat -A PREROUTING -p tcp -d 10.0.20.159 --dport 5555 -j DNAT --to-destination 192.168.56.101
iptables -t nat -A POSTROUTING -j MASQUERADE
然后我尝试从网络上的另一台机器连接到模拟器,输入这个地址:10.0.20.159:5555
(结果是 连接被重置 因为我没有实际服务器程序 运行ning 在模拟器上)但是当我尝试使用 d/t 端口时说 10.0.20.159:5595
结果是 无法连接 所以我的猜测在这里PC 是否能够通过端口转发访问模拟器)
我希望它能帮助您尝试使用实际的服务器程序 运行ning。 :)
我刚刚在这里找到了解决方案:http://blog.cloud-mes.com/2014/01/22/enable-genymotion-android-emulator-network-in-enerprise-intranet/
我只需要将适配器设置为桥接模式。诀窍是设置 second 适配器,而不是像我之前那样设置第一个适配器(第一个是为了保持原样,使用 vboxnet0 接口)。再简单不过了。