如何从Genymotion安卓模拟器访问本地主机?

73

我无法弄清楚如何从Genymotion Android模拟器访问本地主机。顺便说一下,我正在使用MAMP。


2
你误述了问题。 “localhost”除了指代程序运行的系统外,从来不是其他东西,在这种情况下,它将指代模拟的Android设备本身,可以在地址127.0.0.1处访问该设备。很可能你正在寻找一种访问托管模拟器的系统上运行的服务的方法。 - Chris Stratton
谢谢您的评论。我的目标是想从Genymotion Android模拟器中访问正在运行MAMP的计算机上的'http://localhost:8888'。这可能吗? - mownier
10个回答

180

更新

在genymotion升级到2.2后,您可以使用10.0.3.2参见

另一种方法

通过Genymotion访问本地主机的另一种方法是使用您的PC IP地址。 要获取您的IP地址,请转到:

start -> cmd -> ipconfig

然后搜索IPv4,复制IP并粘贴到您的URL中。它应该看起来像以下内容:

String YourURL = "http://192.168.0.106:8888/your_script_location.php";

希望这个对你也有效,请给我反馈。

附言:如果它没有起作用,请关闭您电脑上的防火墙和任何防病毒应用程序。


3
10.0.3.2无法连接(连接被拒绝),但Virtual Box vboxnet0提供的地址可以使用,例如在我这里是192.168.56.1。 - xji
2
我没想到更新后它从 10.0.2.2 变成了 10.0.3.2。谢谢你提醒! - twig
我只改了URL中的一个数字“.setRootUrl("http://10.0.3.2:8080/_ah/api/")”,然后它就可以工作了!太棒了! - Alex Zezekalo
非常完美的工作,非常感谢。 - Saraschandraa
1
10.0.3.2 在我的 OSx 和 Genymotion 2.8.1 上运行良好。有点惊讶的是,我甚至不需要在我的 Apache vhost 配置或 hosts 文件中添加任何内容,它就可以正常工作! :D - Magnus

26

您需要这个结构

Genymotion

http://10.0.3.2/

默认AVD

http://10.0.2.2/

这里的http非常重要,端口是默认的,它取决于您的服务器。

您可以在智能手机的浏览器中检查此网址。

enter image description here


20
< p >通过ipconfig 返回的IP对我没有作用。但是10.0.3.2却可以使用,即使Wifi设置中的IP地址为10.0.3.15

Genymotion 2.2.0


1
谢谢您。有了这个IP地址,我可以连接到托管Genymotion模拟器的计算机,无论我在哪个网络中。这就是我寻找的:D - josebama
循环反射 10.0.3.2:3000 - Sonu Kumar

12

对我来说,它通过使用 http://192.168.56.1:8080 运行。

要知道你的 IP,只需使用以下命令:

  • 对于(mac 和 linux) ifconfig vboxnet0
  • windows 命令 ipconfig vboxnet0

并确保端口已连接。

我从这里得到了答案:here


什么是vboxnet0?我在哪里可以获取字符串“vboxnet0”? - sham
在Mac上使用ipconfig命令,在Linux上也同样可以。在Windows上则可使用ifconfig命令。 - lfender6445

6
Genymotion! 对于我而言,使用IP10.0.3.2是可行的,但取决于您的本地主机端口。 使用Apache只需要IP,而默认端口为8080的Tomcat。 这里是截图。 1. Apache屏幕截图

Genymotion Apache

2. Tomcat屏幕截图

enter image description here

希望这有所帮助。谢谢!

我正在尝试按照您的所有步骤操作,但好像不起作用... VB 中有任何设置吗? - Karue Benson Karue
@KarueBensonKarue,首先确保你的URL在浏览器中执行。 - Madan Sapkota

5

简介:

长话短说,Genymotion 运行在 Virtualbox 上,其默认的网络配置是“Host-Only”(主机模式)。这种方式实质上模拟了一个物理网络,该网络由您的 Genymotion VM(即仿真器)和主机机器共享。该网络的名称为 vboxnet0,如果您在主机上运行“ifconfig vboxnet0”(如果运行 Windows,则为“ipconfig vboxnet0”),您应该会收到主机在 vboxnet0 网络上的 IP 地址。默认 IP 地址很可能是 192.168.56.1。

解决方案:

这就是从 Genymotion 仿真器访问主机机器时要使用的 IP 地址。对于我的 Rails 应用程序来说,这意味着需要调用“192.168.56.1:3000”,而不是“10.0.2.2:3000”。

链接:

http://bbowden.tumblr.com/post/58650831283/accessing-a-localhost-server-from-the-genymotion


根据我的经验,不需要使用端口,只需使用IP地址即可。 - ThomasW

3
  1. 运行xampp(默认为127.0.0.1:80),然后进入“控制面板\所有控制面板项\网络和共享中心”
  2. 选择连接

enter image description here


2

在我的Ubuntu系统中使用Genymotion时,我使用虚拟机的IP地址作为本地主机地址,这样就可以正常运行了。

在VirtualBox中,进入文件 > 首选项 > 网络 > 选择“仅主机网络”,并选择适配器标签,在IPv4地址处复制地址,然后将其用作本地主机地址即可,例如:http://192.168.56.1/qrstuff/json/


1

首先检查您的PC上的互联网连接,然后在Genymotion模拟器设备中打开Wifi

按下ctrl + r进入Cmd,然后键入Cmd并按回车,您将看到一个命令行窗口

键入ipconfig并按回车...

在这里,您可以看到您的ipv4地址,在Genymotion模拟器设备的浏览器中键入它,现在您可以连接到本地web服务器....


0
在我的情况下,10.0.3.2 不起作用。我改成了虚拟机 host-only 网络:192.168.128.2,它可以工作。 如果使用 192.168.56.1 无法工作,则必须尝试其他 virtualbox 适配器 IP。 我的环境位于企业代理后面,我正在运行嵌入式 undertow 服务器。 希望这可以帮助到你。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接