Emulator zapewnia wszechstronne możliwości sieciowe, których możesz używać do konfigurowania złożonych środowisk modelowania i testowania aplikacji. Na tej stronie znajdziesz informacje o architekturze i możliwościach sieciowych emulatora.
Wirtualny router każdej instancji zarządza przestrzenią 10.0.2/24 adresów sieciowych.
- Wszystkie adresy zarządzane przez router mają postać
10.0.2.xx, gdziexxto liczba.
W tabeli poniżej pokazujemy, jak adresy w tej przestrzeni są wstępnie przydzielane przez emulator lub router:
| Adres sieciowy | Opis |
|---|---|
| 10.0.2.1 | Adres routera lub bramy |
| 10.0.2.2 | Specjalny alias interfejsu zwrotnego hosta (127.0.0.1 na komputerze używanym do programowania) |
| 10.0.2.3 | Pierwszy serwer DNS |
| 10.0.2.4, 10.0.2.5, 10.0.2.6 | Opcjonalne drugi, trzeci i czwarty serwer DNS |
| 10.0.2.15 | Sieć emulowanego urządzenia po połączeniu za pomocą Ethernetu |
| 10.0.2.16 | Sieć emulowanego urządzenia po połączeniu przez Wi-Fi. |
| 127.0.0.1 | Interfejs sprzężenia zwrotnego emulowanego urządzenia |
Oprócz Wi-Fi te same przypisania adresów są używane przez wszystkie uruchomione instancje emulatora po połączeniu za pomocą Ethernetu. Oznacza to, że jeśli na Twoim komputerze działają jednocześnie 2 instancje, każda z nich będzie miała własny router, a za nim adres IP 10.0.2.15. Instancje są odseparowane przez router i nie mogą się wykrywać w tej samej sieci. Więcej informacji o tym, jak umożliwić instancjom emulatora komunikację za pomocą protokołów TCP/UDP, znajdziesz w sekcji Łączenie instancji emulatora.
Adres 127.0.0.1 na komputerze używanym do programowania odpowiada interfejsowi sprzężenia zwrotnego emulatora. Aby uzyskać dostęp do usług działających na interfejsie sprzężenia zwrotnego na komputerze używanym do programowania, użyj specjalnego adresu 10.0.2.2.
Wstępnie przydzielone adresy emulowanego urządzenia są specyficzne dla emulatora Androida i prawdopodobnie będą inne na prawdziwych urządzeniach (które również prawdopodobnie będą miały przetłumaczony adres sieciowy, w szczególności za routerem lub zaporą sieciową).
Ograniczenia sieci lokalnej
Aplikacje na Androida działające na emulatorze mogą łączyć się z siecią dostępną na stacji roboczej. Aplikacje łączą się jednak przez emulator, a nie bezpośrednio ze sprzętem, a emulator działa jak zwykła aplikacja na stacji roboczej. Może to powodować pewne ograniczenia:
- Komunikacja z emulowanym urządzeniem może być blokowana przez zaporę sieciową działającą na Twoim komputerze.
- Komunikacja z emulowanym urządzeniem może być blokowana przez inną (fizyczną) zaporę lub router, do którego podłączony jest Twój komputer.
Wirtualny router emulatora może obsługiwać wszystkie połączenia i wiadomości wychodzące TCP i UDP na emulowanym urządzeniu, pod warunkiem że środowisko sieciowe komputera deweloperskiego zezwala na te połączenia. Nie ma wbudowanych ograniczeń dotyczących numerów portów ani zakresów, tylko te narzucone przez system operacyjny hosta i sieć.
W zależności od środowiska emulator może nie obsługiwać innych protokołów, takich jak ICMP, który jest używany do polecenia „ping”. Emulator nie obsługuje IGMP. Na przykład użytkownicy nie mogą używać polecenia ping do pingowania hosta ani innych urządzeń w lokalnej sieci komputerowej.