Android studio:将Android模拟器连接到专用网络

时间:2015-07-08 10:13:41

标签: android-studio android-emulator upnp

我是Android开发的新手,我希望你能帮助我。

我在Linux中使用android studio来开发UPnP应用程序。 在我的PC上,有2个网络,1个通过eth0连接到互联网,另一个通过eth1连接到专用网络。

当我启动我的应用程序时,它可以找到位于网络中的UPnP服务器,它连接到eth0但不是连接到eth1的服务器。

通过查看Setting up Redirection through the Emulator Console,我发现了一种将网络从端口1900重定向到Android模拟器的方法,我的应用程序现在可以在专用网络中找到UPnP服务器。

Android Console: type 'help' for a list of commands
OK
redir add udp:1900:1900
OK
redir add udp:51844:51844
OK
redir add tcp:80:80
KO: can't setup redirection, port probably used by another program on host

问题是无法将协议tcp从端口80重定向到流视频。

我的问题是:

1-有没有办法告诉android模拟器监听eth1而不是eth0。或者如果可能的话,同时听取eth0和eth1。

2-如果没有,我如何重定向端口80以便使用我的应用程序流式传输视频?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我以前遇到过类似的问题。 (但是那个时候终于在VM上改为Android到x86了。)

问题1:

  

1-有没有办法告诉android模拟器监听eth1而不是eth0。或者如果可能的话,同时听取eth0和eth1。

只是一些想法, 执行sudo ip link set eth0 down然后启动Android模拟器,我猜模拟器应绑定到eth1,然后再次启动eth0。抱歉,我没有在Linux上工作,无法验证。

  

2-如果没有,我如何重定向端口80以便使用我的应用程序流式传输视频?

在您的Linux PC上似乎正在使用80端口,因此找出正在使用的进程然后暂时停止它。

sudo netstat -nlp | grep 80,我认为可能是nginxapache。在sudo killall YOUR_SERVER之后,redir add tcp:80:80可能有效。

此外,如果eth0运作良好,您可能不需要打扰redir。只需使用iptables并设置从eth0eth1的必要转发。 以下链接可能有所帮助:https://help.ubuntu.com/community/IptablesHowTo