启动时,模拟器会读取系统正在使用的 DNS 服务器的列表。然后,它会存储此列表上最多四个服务器的 IP 地址,并根据需要在模拟地址 10.0.2.3、10.0.2.4、10.0.2.5 和 10.0.2.6 上为其设置别名。
在 Linux 和 macOS 上,该模拟器通过解析文件 /etc/resolv.conf 获取 DNS 服务器地址。在 Windows 上,该模拟器通过调用 GetNetworkParams() API 获取相应地址。这通常意味着模拟器会忽略 hosts 文件(在 Linux 和 macOS 上为 /etc/hosts,在 Windows 上为 %WINDOWS%/system32/HOSTS)的内容。
手动指定 DNS 服务器
从命令行启动该模拟器时,您可以使用 -dns-server
<serverList> 选项来手动指定要使用的 DNS 服务器的地址。
<serverList>是以逗号分隔的服务器名称或 IP 地址列表。- 如果在模拟网络中遇到 DNS 解析问题(例如,在使用网络浏览器时出现“Unknown Host error”消息),此选项会很有用。
emulator @MyAvd -dns-server 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844