Android模拟器忽略系统/ etc / hosts文件中的设置

时间:2017-10-27 12:47:44

标签: android emulation hosts

我做了什么 。要使用测试API,我需要在 hosts 文件中添加特定的IP和主机名。所以我在我的电脑 system / etc / hosts 上编辑了配置。之后我可以在PC浏览器上使用我的主机。

PC主机文件img: enter image description here _

然后我尝试在Android Studio Emulator(同一台PC)上打开相同的主机。并且浏览器显示错误“网页不可用... ERR_NAME_NOT_RESOLVED”。奇怪,因为,我认为模拟器会使用PC OS主机属性(比如Mac上的X-Code模拟器)。

浏览器img中的模拟器错误: enter image description here _

所以我根植了模拟器,改变了它的主机文件,就像在PC上重启模拟器一样 - 在浏览器中出现同样的错误。

模拟器托管文件img: enter image description here _

似乎Android Emulator忽略了两个PC主机文件设置和它自己的文件设置。 如何使模拟器与我的主机ip-hostname对一起工作?也许我错过了什么?

3 个答案:

答案 0 :(得分:1)

系统管理员以某种方式解决了他的这种情况。所以现在我使用-dns-server option手动指定DNS服务器的地址。我的测试api请求工作。

emulator -avd nexuss5 -dns-server xxx.xx.x.x

答案 1 :(得分:0)

根据模拟器文档,这是预期的行为:

  

请注意,这通常意味着模拟器会忽略“hosts”文件的内容(Linux / OS X上的/ etc / hosts,Windows上的%WINDOWS%/ system32 / HOSTS)。

但是,您可以使用10.0.2.2从模拟器内部访问主机(而不是在您的示例中进行测试)

答案 2 :(得分:0)

设备hosts文件中的最后一行必须以新行终止。

相关问题