博主在使用 genymotion 访问本地 pc 搭建的 tomcat 服务器中的 json 文件时,出现了 genymotion 无法访问到该文件的情况,首先在 pc 端,
我们使用 localhost:8080/update.json 访问我的 tomcat 本地 json 文件,可以正常访问,如图所示
我们再使用 127.0.0.1:8080/update.json 访问我的访问我的 tomcat 本地 json 文件,也是可以正常访问,如图所示
我们再使用10.0.2.2:8080/update.json 访问我的访问我的 tomcat 本地 json 文件,此时不可以正常访问,如图所示
当我们在 genymotion 中以同样方式访问的时候,全部不能访问,如图所示:
1. 关于 localhost 不能访问到 pc 端的文件的缘由这里就不细说了
2. 关于 127.0.0.1 不能访问到pc 端的文件的缘由可以查看一下这位博主的博客《Android 模拟器无法访问本地的 tomcat》
3. 关于 10.0.2.2 不能访问到 pc 端的文件的缘由:源生adrioidSDK是10.0.2.2,但是genymotion软件是使用10.2.3.2
叙述了这么多,那么下面来解决这个问题,其实问题很简单,genymotion 作为一个模拟器运行在 VM Virtualbox 中( VMware同理),默认的网络连接方式是 Host-only 模式,我们可以在命令行中输入 ipconfig 显示当前的TCP/IP配置的设置值,然后我们就可以找到系统分配给 genymotion 的配置信息
而我们使用这里的 IPv4 地址代替前面的地址即可访问到 pc 端的 tomcat 的文件(博主在网络配置中设置了两个网卡,所以有两个 IPv4 地址,这里两个地址都是可以访问的),如图所示:
这样就解决了 genymotion 无法访问到 pc 端 tomcat 中文件的问题了。
总结:genymotion 访问本地PC端服务的IP地址:(1)10.0.3.2 (2)采用分配给genymotion的ipv4地址。