模擬器會在啟動時讀取系統使用的 DNS 伺服器清單,然後儲存清單中最多 4 個伺服器的 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 解析問題 (例如使用網路瀏覽器時,出現「不明主機錯誤」訊息),這個選項或許能帶來幫助。
emulator @MyAvd -dns-server 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844