網路位址空間

模擬器提供多種用途的網路功能,可讓您針對應用程式設定複雜的模型和測試環境。本頁將介紹模擬器網路架構和功能。

每個執行個體的虛擬路由器會管理 10.0.2/24 網路位址空間。

  • 由路由器管理的所有位址都會採用 10.0.2.xx 的格式,其中 xx 是數字。

下表顯示模擬器或路由器如何預先分配這個空間中的位址:

網路位址 說明
10.0.2.1 路由器或閘道位址
10.0.2.2 主機回送介面的特殊別名 (即開發機器上的 127.0.0.1)
10.0.2.3 第一個 DNS 伺服器
10.0.2.4、10.0.2.5、10.0.2.6 選用的第二、第三和第四個 DNS 伺服器
10.0.2.15 透過乙太網路連線時的模擬裝置網路
10.0.2.16 透過 Wi-Fi 連線時,模擬裝置網路。
127.0.0.1 模擬裝置回送介面

除了 Wi-Fi,透過乙太網路連線時,所有執行中的模擬器執行個體都使用相同的指派位址。也就是說,如果您在機器上同時執行兩個執行個體,每個執行個體都會有各自的路由器,而路由器後方的每個 IP 位址都會是 10.0.2.15。執行個體由路由器隔離,無法在同一個網路中偵測到彼此。如要瞭解如何讓模擬器執行個體透過 TCP/UDP 進行通訊,請參閱「互連模擬器執行個體」。

開發機器上的位址 127.0.0.1 會對應至模擬器的回送介面。如要存取在開發機器回送介面上執行的服務,請改用特殊位址 10.0.2.2

模擬裝置的預先分配位址為 Android Emulator 專用,且可能和實際裝置上的情況相差甚遠 (通常也會經過網路位址轉譯,特別是在路由器或防火牆後方)。

區域網路限制

在模擬器上執行的 Android 應用程式可以連線至工作站的可用網路。不過,應用程式是透過模擬器連線,而非直接連線至硬體,而模擬器的運作方式就如同工作站上的一般應用程式。這可能會造成下列限制:

  • 機器上執行的防火牆程式可能會封鎖與模擬裝置的通訊。
  • 與機器連線的另一個 (實體) 防火牆或路由器可能會封鎖與模擬器裝置的通訊。

模擬器的虛擬路由器可以處理模擬裝置的所有輸出 TCP 和 UDP 連線與訊息,前提是開發機器的網路環境允許這些連線。除了主機作業系統和網路的限制外,通訊埠號碼或範圍沒有內建限制。

根據環境的不同,模擬器可能不支援其他通訊協定,例如用於「連線偵測」(ping) 的 ICMP。模擬器不支援 IGMP。 舉例來說,使用者無法使用 ping 指令 ping 主機或區域網路上的其他裝置。