Android Studio - emulator Androida Wifi połączony bez internetu


90

Zmarnowałem cały dzień wypróbowując różne rozwiązania unoszące się w SO i innym wymienionym miejscu, aby włączyć Wi-Fi na emulatorze Androida, ale bezskutecznie. Czy ktoś może mi pomóc dowiedzieć się, jak włączyć Internet na moim emulatorze Androida?

Mam Nexus 5X API 27, a celem jest Android 8.1 (Google Play) i Nexus 5 API P, a celem jest Android 7.1.1.

Uważam, że powinien istnieć sposób, aby włączyć na nim Internet, bo inaczej cały punkt dostarczania wirtualnego Wi-Fi na emulatorze wydaje się być marnotrawstwem.

Używam systemu Mac OS HS 10.13.4 bezpośrednio połączonego z routerem bez serwera proxy.

Próbowałem nawet usunąć wszystkie AVD i ponownie je zainstalować. Próbowałem nawet zainstalować najnowszego Pixela 2 z Oreo Android 8.1

Wydaje się, że nic nie działa. Czy ktoś napotkał ten problem i znalazł rozwiązanie?

Każda pomoc byłaby bardzo pomocna

Dzięki, Vikram

Aktualizacja: Kiedy podłączam komputer przez telefon jako hotspot wifi, emulator ma dostęp do Internetu przez Wi-Fi, ale kończy się niepowodzeniem, gdy podłączam komputer do routera domowego.


czy to nie jest już włączone?

Mam ten sam problem. Działa przez hotspot mojego telefonu, ale nie przez router. Jaki masz router? Kiedyś wszystko działało dobrze, kiedy miałem router AVM, ale teraz mam router Telekom Speedport i już nie będzie działać.
TheBaj

1
@TheBaj: Ten rodzaj routera może nie być tutaj problemem lub może nim być, ale nie wiem. Wypróbuj poniższe rozwiązanie, które zadziałało dla mnie.
Vikram Mahishi

1
@VikramMahishi po prostu zaktualizuj emulator swojego androida SDK. To działa na mnie.
Zala Janaksinh

Odpowiedzi:


174

Poniżej podano rozwiązania dla systemów Windows i Mac, ale podobne rozwiązania będą działać na każdym systemie operacyjnym:

  1. W systemie Windows

    • Otwórz Centrum sieci i udostępniania i kliknij bieżące połączenie
    • Kliknij Właściwości
    • Kliknij dwukrotnie Protokół internetowy w wersji 4 (TCP / IPv4)
    • Ustaw preferowane i alternatywne serwery DNS jako (zrzut ekranu poniżej):

      8.8.8.8
      8.8.4.4
      
  2. Na komputerze Mac

    • Wybierz kolejno opcje Ustawienia> Sieć> Zaawansowane ...> DNS
    • Usuń wszystkie wpisy, które tam masz i dodaj te dwa wpisy (zrzut ekranu poniżej):

      8.8.8.8
      8.8.4.4
      

      Uwaga: w przypadku użytkowników komputerów Mac, jeśli pole wpisów jest wyłączone i nie możesz go edytować, kliknij ikonę „Zablokuj” w dolnej części tego okna i wprowadź hasło, aby móc wprowadzić zmiany

Zrestartuj emulator i powinien rozwiązać:

Zrzuty ekranu:

  1. Windows

Emulator Androida nie łączy się z rozwiązaniem internetowym w systemie Windows

  1. Prochowiec

Emulator Androida nie łączy się z rozwiązaniem internetowym na komputerze Mac


Edycja: Jest to poprawka w sytuacji, gdy wifi emulatora zmieniło DNS na jakiś niedziałający DNS. Chociaż działa to przez większość czasu, mogą istnieć inne przyczyny, których to rozwiązanie może nie naprawić.


6
Byłem niezwykle zdziwiony tym problemem. To rozwiązuje to bezbłędnie. Sława!
Vijay Kumar Kanta

1
Dzięki. Sam nigdy bym tego nie wymyślił!
pkozlowski

napotkać to za pomocą emulatorów Android 8 Oreo (AVD) w Android Studio. Naprawiono to albo flaga CLI, jak i zmiana DNS w całym systemie.
Thom,

1
Dziękuję Ci! zmagał się z tym błędem przez ponad 3 dni
RL Shyam

2
Dziękuję Ci !!!! to działało dla mnie, 8.8.8.8 8.8.4.4
kallayya Hiremath

92

Moje rozwiązanie w systemie Mac OSX 10.13

Czytałem o tym, że jest to spowodowane włączeniem karty LAN i Wi-Fi, a niektóre podejścia wydawały mi się skomplikowane, więc po prostu spróbowałem tego i zadziałało:

  • Wyłączone WiFi na moim laptopie.
  • Wyłączyłem emulator.
  • Wykonałem zimny rozruch na emulatorze (AVD Manager -> na akcjach emulatora -> Cold Boot Now).
  • Po restarcie z wyłączonym WiFi w laptopie emulator pokazywał prawidłowe połączenie WiFi (emulator nadal pokazuje AndroidWifi, ale jest połączony z internetem w moim laptopie. Symbol WiFi teraz wygląda tak: symbol WiFi podłączony )
  • Następnie włączyłem WiFi na moim laptopie i wszystko działało.

To zadziałało i zrobiłem „wyczyść dane” przed „zimnym startem” i musiałem skonfigurować WiFi w emulatorze, pojawiło się powiadomienie podczas przesuwania w dół na ekranie głównym.
Manuel

2
Pracował dla mnie! Właśnie wykonałem zimny rozruch z wyłączonym Wi-Fi i działało dobrze.
Hasen

Pracował dla mnie. Dzięki.
Michael Angelo Reyes

Działało jak urok !! Dzięki :)
SARATH SASI

To najlepsza odpowiedź.
Ahmed Mostafa

40

@TheBaj: Odkryłem problem z tym i naprawiłem go. Problem polega na tym, że gdy jesteś podłączony przez router, androidwifi w twoim emulatorze używa ustawień i ustawia DNS na coś innego niż 8.8.8.8, czyli Google DNS (zakładam, że jest to trochę obowiązkowe ustawienie dla androidwifi, aby uzyskać dostęp do internetu dostęp). Ale jeśli zmienię DNS w ustawieniach sieci, wtyczka Google-services, która pobiera twoje zależności, zwłaszcza ta, z której jest pobierana jcenter(), nie zostanie pobrana, a zatem twoja synchronizacja się nie powiedzie, co ostatecznie zakończy się niepowodzeniem twojej kompilacji.

Tak więc sztuczka polega na tym, że masz skonfigurowany Google DNS (8.8.8.8) w ustawieniach sieci po domyślnych ustawieniach routera - ta część zajmuje się pobieraniem zależności z jcenter()oraz synchronizacją i budowaniem powiodło się.

Teraz uruchom emulator za pomocą emulator @Nexus_5X_API_27 -dns-server 8.8.8.8polecenia z terminala, co zmusza emulator do używania 8.8.8.8 jako swojego DNS, a emulator będzie miał internet.

Pracuję nad natywną aplikacją, więc dla mnie Android Studio jest niepotrzebne i skonfigurowałem mój bashrc, aby uruchamiał różne emulatory w następujący sposób,

   function emunex5 {
    emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
 }

  function emunex6 {
    emulator @Nexus_6_API_27 -dns-server 8.8.8.8
  }

  function emupix {
    emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
   }

Więc z jednego terminala uruchamiam wybrany emulator, a następnie uruchamiam kompilację na innym terminalu, który uruchamia moją aplikację na uruchomionym emulatorze, a MÓJ FREAKING EMULATOR MA DOSTĘP DO INTERNETU. :)

Wypróbuj to i mam nadzieję, że to pomoże.

Dzięki, Vikram


Dzięki, teraz działa. Spędziłem na tym cały dzień: /
TheBaj

„emulator” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.
Bhupesh

@Bhupesh zobacz %HOME%\AppData\Local\Android\Sdk\emulator- tutaj to znalazłem.
t3chb0t

9

Miałem ten sam problem i wykonanie poniższych czynności rozwiązało go.

Kroki:

  1. Przejdź do ustawień emulatora
  2. Wybierz kartę Proxy
  3. Następnie zaznacz opcję „Użyj ustawień serwera proxy HTTP Android Studio”
  4. Kliknij Zastosuj


To jedyna odpowiedź, która mi pomogła, dziękuję!
Arià

6

Rozwiązałem z Google dns na karcie sieciowej 8.8.8.8i8.8.4.4

Emulator Androida Wi-Fi połączony bez rozwiązania internetowego dla systemu Windows


Mam nadzieję, że jest to gdzieś zgłaszane jako błąd, ponieważ mi to również zajęło trochę czasu.
Renetik

5

Wyczyść dane, klikając prawym przyciskiem myszy listę urządzeń wirtualnych, a zimny rozruch działa dla mnie.


4

Cóż, zrobiłem to w ten sposób:

Kroki, aby dodać ręczne proxy:

  1. Przejdź do ustawień emulatora
  2. Przejdź do zakładki Proxy
  3. Ustaw ręczną konfigurację serwera proxy
  4. Dodaj nazwę hosta i numer portu
  5. Kliknij Zastosuj

Zrzut ekranu odniesienia:

wprowadź opis obrazu tutaj

Mam nadzieję, że to pomoże.


4

Pomogło mi to: W systemie Mac OSX (dla mnie Catalina) problem jest spowodowany tym, że emulator automatycznie podnosi ten nameserver, patrząc /etc/resolv.confi wybierając pierwszy, w moim przypadku adres IPv6. Źródło

Po prostu edytuj plik ( $ sudo vi /etc/resolv.conf) i przenieś adres IPv4 ( 192.168.1.1w moim przypadku) na pierwszy, przed adresami IPv6.

Poważnie, to było to. Od Demetriosa Christophera


Dziękujemy za poświęcenie czasu na udzielenie odpowiedzi.! Czy możesz: - 1) edytować swoją odpowiedź, tak aby była ona szczegółowa. 2) Wyjaśnij, co próbujesz osiągnąć dzięki tej odpowiedzi i co chcesz powiedzieć. Aby uzyskać więcej informacji, zobacz Jak napisać dobrą odpowiedź w Centrum pomocy (jak zapytać: stackoverflow.com/help/how-to-answer )
Paresh Mangukiya

3

Może to komuś pomoże. Wypróbowałem wszystkie powyższe rozwiązania. Zmiana DNS, zimne uruchamianie, itp. Po kilku godzinach prób i błędów przeszedłem do oficjalnej dokumentacji, która mówi, że emulator przejmuje konfigurację DNS. maszyny hosta w czasie uruchamiania emulatora. Na moim komputerze zainstalowano oprogramowanie VMWare, które instaluje kilka kart sieciowych. Tak, po prostu zmienił config DNS. wszystkich adapterów (w tym adapterów VMWare) i uruchomił mój emulator na zimno. OMG, problem, który nie znikał przez wiele godzin, właśnie się poprawił!

Dziwne jest to, że przełączyłem z powrotem konfigurację DNS. wszystkich adapterów na auto i ponownie uruchomiłem mój emulator na zimno. WiFi nadal działa dobrze. System operacyjny: Windows 10.


Po prostu musiałem uruchomić emulator na zimno
KvdLingen

3

100% działa na Windows 10

Android AVD jest dostarczany z Google DSN skonfigurowanym w emulatorach. Więc musimy ustawić to samo na udostępnianie w sieci, aby uzyskać dostęp do tego samego.

Adresy IP Google Public DNS Adresy IP Google Public DNS (IPv4) są następujące:

8.8.8.8

8.8.4.4

Adresy Google Public DNS IPv6 są następujące:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Możesz użyć adresu jako podstawowego lub pomocniczego serwera DNS.

Więcej informacji

Tutaj pokazuję ustawienie kroków IP v4

  1. Centrum otwartej sieci i udostępniania
  2. Kliknij prawym przyciskiem myszy bieżące połączenie internetowe
  3. Wybierz Właściwości
  4. Kliknij dwukrotnie Protokół internetowy w wersji 4 (TCP / IPv4)
  5. Wybierz opcję Użyj następującego adresu serwera DNS
  6. Ustaw preferowany i alternatywny serwer DNS
  7. Preferowany serwer DNS: 8.8.8.8
  8. Alternatywny serwer DNS: 8.8.4.4
  9. Kliknij OK
  10. Uruchom ponownie system Android AVD

Uwaga: jeśli VPN jest włączony, nie będzie działać, aby rozłączyć VPN

Więcej informacji o Google DSN


1
Niestety potrzebujemy VPN, gdy WFH. Nie mogę uwierzyć, że Google zostawił ten problem przez wiele lat.
You-Liang Shih

3

W systemie Mac OSX (dla mnie Catalina) problem jest spowodowany tym, że emulator automatycznie wybiera serwer nazw, patrząc na /etc/resolv.conf i wybierając pierwszy, w moim przypadku adres IPv6. Źródło: https://developer.android.com/studio/run/emulator-networking#dns

Po prostu edytuj plik (sudo vi /etc/resolv.conf) i przenieś adres IPv4 (w moim przypadku 192.168.1.1) na pierwszy, przed adresami IPv6. Poważnie, to było to.


1
Wow, niewiarygodne, ale dla mnie zadziałało, dzięki.
Jhegs

3

W systemie macOS:

  1. Otwórz Sieć w Preferencjach systemowych .
  2. Wybierz bieżącą sieć z lewej strony kliknij przycisk Zaawansowane ... .
  3. Zmień Konfiguruj IPv6 (na karcie TCP / IP ) z Automatycznie na Tylko łącze lokalne .
  4. Uruchom ponownie emulator.

2

W systemie Windows:

Po przetestowaniu niektórych rozwiązań znalazłem swoje, klikając strzałkę w dół na AVD, opcję „Cold Boot Now”. po uruchomieniu Android miał dostęp do internetu, więc mi się udało.


2

Rozwiązanie dla systemu Windows:

  1. Przejdź do lokalizacji zestawu Android SDK, np .: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator .
  2. Otwórz wiersz polecenia w tej samej lokalizacji. Wpisz polecenie: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Tutaj Nexus_4_API_29będzie nazwa twojego urządzenia emulatora (możesz znaleźć listę urządzeń w Android Studio -> AVD Manager). To polecenie uruchomi określone urządzenie, a WIFI będzie miało połączenie z Internetem.

Mam nadzieję że to pomoże.


0

Co mi pomogło:

  • Wyłącz emulator (używając klawisza zasilania)
  • Uruchom aplikację na INNYM emulatorze, a następnie zamknij ją.
  • Teraz ponownie uruchom aplikację w poprzednim emulatorze.

0

Jeśli miejsce wifi uległo zmianie, po prostu uruchom ponownie emulator, aby emulator odświeżył ustawienia sieciowe z usługi dhcp.



0

U mnie zadziałał zwykły zimny rozruch, nie ma potrzeby uruchamiania innych emulatorów ani czyszczenia pamięci.

Po prostu zamknij emulator i wybierz opcję „Cold Boot Now” z menu rozwijanego obok przycisku odtwarzania. Jeśli nie, szukaj żadnej z bardziej wszechstronnych opcji wymienionych tutaj, ale proponuję zawsze zacząć od najprostszego rozwiązania.

Powodzenia!



0

Dla nowych użytkowników wyszukiwarek: Czasami VPN jest Twoim rozwiązaniem Zmiana ustawień sieci nie zawsze jest możliwa z powodu problemów z siecią. Jeśli masz adresy IP, na które Google nie odpowiada w tych regionach, Twoje rozwiązanie korzysta z VPN Użyj odpowiedniego VPN (VPN, przez który możesz zaktualizować swoje studio Android) .Gdy Twój VPN jest włączony, uruchom urządzenie AVD ( Oczywiście poziom api twojego emulatora jest ważny, na przykład nie mam żadnego problemu z api 22 ale dla api 28 potrzebne jest użycie VPN!) To było moje doświadczenie z internetem emulatora Androida.


0

Zmień lokalizację emulatora i ustaw go na swoją bieżącą lokalizację.

  • Kroki : -

    1. Kliknij Więcej w opcjach emulatora
    2. Idź do lokalizacji
    3. Wyszukaj swój adres i kliknij USTAW LOKALIZACJĘ
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.