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

问题描述 投票:1回答:3

我做了什么。要使用测试api,我需要在hosts文件中添加特定的ip和主机名。所以我在我的电脑系统/ 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对一起工作?也许我错过了什么?

android emulation hosts
3个回答
1
投票

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

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

0
投票

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

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.