Android emulator GenyMoon查看本地主机站点

Android emulator GenyMoon查看本地主机站点,android-emulator,visual-studio-2013,genymotion,Android Emulator,Visual Studio 2013,Genymotion,我正在建立一个网站,我想看看它是如何在Android智能手机上呈现的,所以我下载了Genymotion。我无法从Genymotion在本地站点上看到任何页面(“错误请求-无效主机名”) 当我启动VisualStudio解决方案时,主页地址是 http://localhost:18207 因此,按照我找到的建议,例如,我在GenyMoon中键入了以下地址: http://10.0.3.2:18207 http://192.168.56.1:18207 http://(my ip addres

我正在建立一个网站,我想看看它是如何在Android智能手机上呈现的,所以我下载了Genymotion。我无法从Genymotion在本地站点上看到任何页面(“错误请求-无效主机名”)

当我启动VisualStudio解决方案时,主页地址是

http://localhost:18207
因此,按照我找到的建议,例如,我在GenyMoon中键入了以下地址:

http://10.0.3.2:18207

http://192.168.56.1:18207

http://(my ip address):18207
但是我总是有上面提到的错误,或者有时是超时错误


谢谢你的建议

在192.168.56.1网络上运行web服务器。这通常是服务器配置中的一个设置。它可能默认为主机的真实适配器,而不是连接VirtualBox的虚拟适配器。我不确定您使用的是什么主机操作系统,但对于Linux安装,虚拟适配器通常是vbox0。这是Genymotion所在的虚拟网络


您的Genymotion VM将具有类似192.168.56.101的DHCP地址。您可以在VM中使用Genymotion配置应用程序进行确认。如果是这种情况,并且您的web服务器也在该子网上,您应该能够将您的Genymotion浏览器指向192.168.56.1。

我遇到了完全相同的问题,并在这篇博文的帮助下解决了它:

我不想因为那篇文章的内容而获得任何荣誉,但为了以防万一它离线,我会安排这个过程。实际上,您需要更新IIS Express的配置,以便它能够接受来自Genymotion的传入请求。因此,假设您的站点在端口8080上运行:

步骤1-在C:\Users\\Documents\IISExpress\config\applicationhost.config中修改站点的特定配置,使其绑定到*而不是localhost

步骤3-最后使用此特殊地址连接到Genymotion内的站点

http://10.0.3.2:8080/

这对我有效,所以希望对你也有效。

在我的例子中,对Sam Storie提供的答案稍加修改就解决了问题。 我的本地服务使用MVC Web Api控制器托管(我使用的是Visual Studio 2013)

在步骤1中,我没有将:8080:localhost替换为:8080:*,而是在现有绑定旁边添加了一个新绑定。新绑定中既没有localhost,也没有*。它将如下所示:

 <bindings>
  <binding protocol="http" bindingInformation=":8080:localhost" /> <!-- Existing binding -->
  <binding protocol="http" bindingInformation=":8080:" /> <!-- New binding. Note that there is no asterisk(*)--> 
 </bindings>


如果不清楚,请确保将8080替换为本地主机上承载服务的实际端口。在我的例子中是53533。

您只需要使用
http://yourHostIpAdress/YourWebSite
(不需要端口)


至少在通过IIS在本地发布网站时,这是有效的

我在Windows 8上。正如我在问题中所描述的那样,我已经试过了你提到的地址,但没有成功。在ipconfig中,我在“以太网适配器VirtualBox主机专用网络”下有该地址。您能否从Android VM内部成功ping Windows主机(192.168.56.1)(即,
adb shell ping 192.168.56.1
)?另外,您是否检查了Windows防火墙是否导致了问题?我的设置符合您的要求,但在Linux上,否则我会更具体。另外,您是否确认web服务器实际上正在侦听192.168.56.1?如果是,该地址也应该可以在Windows浏览器中使用。除了
locahost
之外,还有其他服务器地址可以在Windows中使用吗?如果我在浏览器中输入地址,它就不能工作。你能告诉我如何在Android中ping吗?我没有找到“adb外壳”。谢谢。我很抱歉假设你安装了SDK和adb。要从Genymotion设备内部测试连接性,请启动它,下载如下所示的终端仿真器:,然后将APK拖放到正在运行的Genymotion设备上安装。它将运行并为您提供一个Linux shell。键入
ping192.168.56.1
,您应该会得到一个以毫秒为单位的响应时间列表。经过数小时的反复研究,这个列表终于起作用了。我调用的是IIS Express WCF Web服务,而不是网站,这解决了我的问题。我只需要确保以后不会切换模拟器,因为10.0.2.3对于Genymotion的localhost地址是唯一的。。。要找到正确的应用程序,请右键单击IIS图标并选择“显示所有应用程序”。突出显示列表中的应用程序,它将显示右配置文件的路径
http://10.0.3.2:8080/
 <bindings>
  <binding protocol="http" bindingInformation=":8080:localhost" /> <!-- Existing binding -->
  <binding protocol="http" bindingInformation=":8080:" /> <!-- New binding. Note that there is no asterisk(*)--> 
 </bindings>