Android Studio - Android Emulator Wifi ohne Internet verbunden

91

Ich habe einen ganzen Tag damit verbracht, verschiedene Lösungen auszuprobieren, die in SO und anderen genannten Orten herumschwirren, um WLAN auf dem Android-Emulator zu aktivieren, aber ohne Erfolg. Kann mir jemand helfen, herauszufinden, wie ich das Internet auf meinem Android-Emulator aktivieren kann?

Ich habe Nexus 5X API 27 und das Ziel ist Android 8.1 (Google Play) und Nexus 5 API P und das Ziel ist Android 7.1.1.

Ich glaube, es sollte eine Möglichkeit geben, das Internet darauf zu aktivieren, sonst scheint der Sinn der Bereitstellung von virtuellem WLAN auf dem Emulator eine Verschwendung zu sein.

Ich bin unter Mac OS HS 10.13.4 ohne Proxy direkt mit meinem Router verbunden.

Ich habe sogar versucht, alle AVDs zu löschen und neu zu installieren. Ich habe sogar versucht, das neueste Pixel 2 mit Oreo Android 8.1 zu installieren

Nichts scheint zu funktionieren. Hat sich jemand diesem Problem gestellt und eine Lösung gefunden?

Jede Hilfe wäre eine große Hilfe

Danke, Vikram

Update: Wenn ich meinen Computer über mein Telefon als Hotspot-WLAN verbinde, verfügt der Emulator über WLAN über das Internet, schlägt jedoch fehl, wenn ich meinen Computer mit meinem Heimrouter verbinde.

Vikram Mahishi
quelle
hat es nicht schon aktiviert?
Ich habe das gleiche Problem. Es funktioniert über meinen Telefon-Hotspot, aber nicht über meinen Router. Was für einen Router hast du? Früher hat alles gut funktioniert, als ich einen AVM-Router hatte, aber jetzt habe ich einen Telekom Speedport-Router und er funktioniert nicht mehr.
TheBaj
1
@TheBaj: Die Art des Routers könnte hier nicht das Problem sein oder sein, aber ich weiß es nicht. Probieren Sie die unten stehende Lösung aus, die für mich funktioniert hat.
Vikram Mahishi
1
@ VikramMahishi aktualisieren Sie einfach den Emulator Ihres Android SDK. Es funktioniert für mich.
Zala Janaksinh

Antworten:

176

Nachfolgend sind die Lösungen für Windows und Mac aufgeführt. Ähnliche Lösungen funktionieren jedoch auf jedem Betriebssystem:

  1. Unter Windows

    • Öffnen Sie das Netzwerk- und Freigabecenter und klicken Sie auf die aktuelle Verbindung
    • Klicken Sie auf Eigenschaften
    • Doppelklicken Sie auf Internet Protocol Version 4 (TCP / IPv4).
    • Stellen Sie die bevorzugten und alternativen DNS-Server wie folgt ein (Abbildung unten):

      8.8.8.8
      8.8.4.4
      
  2. Auf dem Mac

    • Gehen Sie zu Einstellungen> Netzwerk> Erweitert ...> DNS
    • Löschen Sie alle Einträge, die Sie dort haben, und fügen Sie diese beiden Einträge hinzu (Screenshot unten):

      8.8.8.8
      8.8.4.4
      

      Hinweis: Wenn das Eingabefeld für Mac-Benutzer deaktiviert ist und Sie es nicht bearbeiten können, klicken Sie im unteren Bereich des Fensters auf das Symbol "Sperren" und geben Sie das Kennwort ein, um Änderungen vornehmen zu können

Starten Sie den Emulator neu und es sollte gelöst werden:

Screenshots:

  1. Windows

Android-Emulator stellt unter Windows keine Verbindung zur Internetlösung her

  1. Mac

Android-Emulator stellt auf einem Mac keine Verbindung zur Internetlösung her


Bearbeiten: Dies ist das Update für eine Situation, in der das WLAN des Emulators das DNS in ein nicht funktionierendes DNS geändert hat. Während dies die meiste Zeit funktioniert, kann es auch andere Gründe geben, die mit dieser Lösung möglicherweise nicht behoben werden können.

Raman Sahasi
quelle
6
Dieses Problem hat mich sehr verwirrt. Dies löst es einwandfrei. Ein großes Lob!
Vijay Kumar Kanta
1
Vielen Dank. Hätte das nie selbst herausgefunden!
Pkozlowski
Laufen Sie mit Android 8 Oreo Emulatoren (AVDs) auf Android Studio darauf. Entweder CLI-Flag oder systemweite DNS-Änderung haben dies behoben.
Thom
1
Vielen Dank! hatte mehr als 3 Tage mit diesem Fehler zu kämpfen
RL Shyam
2
Danke !!!! Es hat für mich funktioniert, 8.8.8.8 8.8.4.4
Kallayya Hiremath
93

Meine Lösung mit Mac OSX 10.13

Ich habe gelesen, dass LAN-Karte und WLAN aktiviert sind, und einige Ansätze schienen mir kompliziert zu sein. Deshalb habe ich es einfach versucht und es hat funktioniert:

  • WiFi auf meinem Laptop deaktiviert.
  • Emulator ausgeschaltet.
  • Hat einen Kaltstart auf dem Emulator durchgeführt (AVD Manager -> bei Emulatoraktionen -> Kaltstart jetzt).
  • Nach dem Neustart mit deaktiviertem Laptop-WLAN zeigte der Emulator die richtige WLAN-Verbindung an (der Emulator zeigt weiterhin AndroidWifi an, ist jedoch mit meinem Laptop-Internet verbunden. Das WLAN-Symbol sieht jetzt folgendermaßen aus: WLAN-Symbol verbunden )
  • Ich habe dann WiFi auf meinem Laptop aktiviert und alles hat funktioniert.
Juangui Jordán
quelle
Dies funktionierte und ich habe vor dem "Kaltstart" ein "Daten löschen" durchgeführt und musste WiFi im Emulator konfigurieren. Beim Wischen auf dem Startbildschirm wurde eine Benachrichtigung angezeigt.
Manuel
2
Hat für mich gearbeitet! Ich habe gerade einen Kaltstart mit deaktiviertem WLAN durchgeführt und es hat einwandfrei funktioniert.
Hasen
Hat für mich gearbeitet. Vielen Dank.
Michael Angelo Reyes
Arbeitete wie Charme !! Danke :)
SARATH SASI
Dies ist die beste Antwort.
Ahmed Mostafa
40

@ TheBaj: Ich habe das Problem damit herausgefunden und es behoben. Das Problem ist, wenn Sie über den Router verbunden sind, das AndroidWifi in Ihrem Emulator die Einstellungen verwendet und das DNS auf etwas anderes als 8.8.8.8 setzt, das das Google DNS ist (ich nehme an, dass dies eine obligatorische Einstellung für das Androidwifi ist, um Internet zu erhalten Zugriff). Wenn ich jedoch das DNS in meinen Netzwerkeinstellungen ändere, wird das Google-Services-Plugin, das Ihre Abhängigkeiten abruft, insbesondere die, von denen heruntergeladen jcenter()wird, nicht heruntergeladen, und daher schlägt Ihre Synchronisierung fehl, wodurch Ihr Build möglicherweise fehlschlägt.

Der Trick besteht also darin, dass Sie Ihr Google DNS (8.8.8.8) in Ihren Netzwerkeinstellungen nach Ihren Standard-Router-Einstellungen konfiguriert haben. In diesem Teil werden die Abhängigkeiten heruntergeladen jcenter()und die Synchronisierung und Erstellung ist erfolgreich.

Starten Sie nun Ihren Emulator mit einem emulator @Nexus_5X_API_27 -dns-server 8.8.8.8Befehl vom Terminal aus, wodurch der Emulator gezwungen wird, 8.8.8.8 als DNS zu verwenden, und der Emulator über Internet verfügt.

Ich arbeite an einer reaktionsnativen App, daher ist Android Studio für mich unnötig und ich habe meinen Bashrc so konfiguriert, dass die verschiedenen Emulatoren wie folgt gestartet werden:

   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
   }

Von einem Terminal aus starte ich den Emulator meiner Wahl und starte dann den Build auf einem anderen Terminal, auf dem meine App auf dem gestarteten Emulator ausgeführt wird, und MY FREAKING EMULATOR HAT INTERNET-ZUGRIFF. :) :)

Probieren Sie es aus und ich hoffe, das hilft.

Danke, Vikram

Vikram Mahishi
quelle
Danke, es funktioniert jetzt. Verbrachte den ganzen Tag damit: /
TheBaj
'Emulator' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt.
Bhupesh
@ Bhupesh sehen %HOME%\AppData\Local\Android\Sdk\emulator- hier habe ich es gefunden.
t3chb0t
9

Ich hatte das gleiche Problem und befolgte die folgenden Schritte, um es zu beheben.

Schritte:

  1. Gehen Sie zu Emulatoreinstellungen
  2. Wählen Sie die Registerkarte Proxy
  3. Aktivieren Sie dann die Option "HTTP-Proxy-Einstellungen für Android Studio verwenden"
  4. Klicken Sie auf Übernehmen

Praneeth
quelle
Dies ist die einzige Antwort, die für mich funktioniert hat, danke!
Arià
6

Ich habe mit Google DNS auf Netzwerkadapter 8.8.8.8und gelöst8.8.4.4

Android Emulator WiFi ohne Internetlösung für Windows verbunden

Marcus J. Kennedy
quelle
Hoffentlich wird dies irgendwo als Fehler gemeldet, da es auch einige Zeit für mich gedauert hat.
Renetik
5

Löschen Sie Daten, indem Sie mit der rechten Maustaste auf die Liste der virtuellen Geräte klicken. Der Kaltstart funktioniert bei mir.

Indrakula
quelle
4

Nun, ich habe es so gemacht:

Schritte zum Hinzufügen eines manuellen Proxys:

  1. Gehen Sie zu den Emulatoreinstellungen
  2. Gehen Sie zur Registerkarte Proxy
  3. Set Manuelle Proxy - Konfiguration
  4. Fügen Sie Ihren Hostnamen & Portnummer
  5. Klicken Sie auf Übernehmen

Referenz-Screenshot:

Geben Sie hier die Bildbeschreibung ein

Ich hoffe es hilft.

Hiren Patel
quelle
4

Für mich geholfen: Unter Mac OSX (Catalina für mich), wird das Problem durch die Tatsache, dass der Emulator nimmt automatisch die nameserverdurch auf der Suche /etc/resolv.confund die erste Ernte, in meinem Fall, eine IPv6 - Adresse. Quelle

Bearbeiten Sie einfach die Datei ( $ sudo vi /etc/resolv.conf) und verschieben Sie die IPv4-Adresse ( 192.168.1.1in meinem Fall) als erste vor die IPv6-Adressen.

Im Ernst, das war es. Von Demetrios Christopher

Kharchenko Igor
quelle
Vielen Dank, dass Sie sich die Zeit genommen haben, eine Antwort beizutragen.! Können Sie: - 1) Ihre Antwort so bearbeiten, dass die Antwort im Detail ist. 2) Erklären Sie, was Sie mit dieser Antwort erreichen möchten und was Sie sagen möchten. Weitere Informationen finden Sie unter Wie schreibe ich eine gute Antwort in der Hilfe (Fragen: Stackoverflow.com/help/how-to-answer )
Paresh Mangukiya
3

Vielleicht würde das jemandem helfen. Ich habe alle oben genannten Lösungen ausprobiert. Ändern von DNS, Kaltstart usw. Nach mehreren Stunden Versuch und Irrtum ging ich zu den offiziellen Dokumenten, in denen stand, dass der Emulator die DNS-Konfiguration übernimmt. des Host-Computers beim Booten des Emulators. Ich hatte VMWare auf meinem Computer installiert, auf dem einige Netzwerkadapter installiert sind. Also habe ich gerade die DNS-Konfiguration geändert. aller Adapter (einschließlich VMWare-Adapter) und Kaltstart meines Emulators. OMG, das Problem, das stundenlang nicht verschwunden zu sein schien, ist gerade richtig!

Was ich jetzt merkwürdig finde, ist, dass ich die DNS-Konfiguration zurückgeschaltet habe. von allen Adaptern auf Auto und Kaltstart meines Emulators wieder. Das WiFi funktioniert immer noch gut. Betriebssystem: Windows 10.

Shesha Vishnu Prasad
quelle
Ich musste nur den Emulator kalt starten
KvdLingen
3

100% Arbeiten unter Windows 10

Android AVD wird mit Google DSN geliefert, das in Emulatoren konfiguriert ist. Wir müssen also die Netzwerkfreigabe für den Zugriff auf dieselbe festlegen.

Öffentliche DNS-IP-Adressen von Google Die öffentlichen DNS-IP-Adressen (IPv4) von Google lauten wie folgt:

8.8.8.8

8.8.4.4

Die öffentlichen DNS-IPv6-Adressen von Google lauten wie folgt:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Sie können entweder die Adresse als primären oder sekundären DNS-Server verwenden.

Mehr Info

Hier zeige ich zum Einstellen von v4 IP-Schritten

  1. Öffnen Sie das Netzwerk- und Freigabecenter
  2. Klicken Sie mit der rechten Maustaste auf die aktuelle Internetverbindung
  3. Wählen Sie Eigenschaften
  4. Doppelklicken Sie auf Internet Protocol Version 4 (TCP / IPv4).
  5. Wählen Sie Folgende DNS-Serveradresse verwenden
  6. Legen Sie den bevorzugten und alternativen DNS-Server fest
  7. Bevorzugter DNS-Server: 8.8.8.8
  8. Alternativer DNS-Server: 8.8.4.4
  9. Klicken Sie auf OK
  10. Starten Sie Android AVD neu

Hinweis: Wenn VPN aktiviert ist, funktioniert es nicht, Ihr VPN zu trennen

Weitere Informationen zu Google DSN

Vinayak
quelle
1
Leider brauchen wir VPN bei WFH. Ich kann nicht glauben, dass Google dieses Problem seit vielen Jahren verlassen hat.
You-Liang Shih
3

Unter Mac OS X (Catalina für mich) wird das Problem dadurch verursacht, dass der Emulator den Nameserver automatisch abruft, indem er auf /etc/resolv.conf schaut und den ersten auswählt, in meinem Fall eine IPv6-Adresse. Quelle: https://developer.android.com/studio/run/emulator-networking#dns

Bearbeiten Sie einfach die Datei (sudo vi /etc/resolv.conf) und verschieben Sie die IPv4-Adresse (in meinem Fall 192.168.1.1) an die erste Stelle vor den IPv6-Adressen. Im Ernst, das war es.

Demetrios Christopher
quelle
1
Wow, unglaublich, aber es hat bei mir funktioniert, danke.
Jhegs
3

Unter macOS:

  1. Öffnen Sie das Netzwerk in den Systemeinstellungen .
  2. Wählen Sie Ihre aktuelle Netzwerk von der linken Seite und klicken Sie auf Erweitert ... .
  3. Ändern Sie IPv6 konfigurieren (auf der Registerkarte TCP / IP ) von Automatisch in Nur Link-lokal .
  4. Starten Sie Ihren Emulator neu.
Vincent Sit
quelle
2

Unter Windows:

Nachdem ich einige Lösungen getestet hatte, fand ich meine durch Klicken auf den Abwärtspfeil auf der AVD, Option "Kaltstart jetzt". Nach dem Booten hatte Android Zugang zum Internet, so dass es für mich funktionierte.

Hamid Shoja
quelle
2

Lösung für Windows:

  1. Wechseln Sie zu Ihrem Android SDK- Speicherort , z. B.: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator .
  2. Öffnen Sie die Eingabeaufforderung an derselben Stelle. Schreiben Sie diesen Befehl : emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Hier Nexus_4_API_29ist der Name Ihres Emulatorgeräts (die Geräteliste finden Sie in Android Studio -> AVD Manager). Dieser Befehl führt Ihr angegebenes Gerät aus und WIFI hat eine Internetverbindung.

Hoffe das hilft.

Shehzad Osama
quelle
0

Was hat bei mir funktioniert:

  • Schalten Sie den Emulator aus (mit dem Netzschalter).
  • Starten Sie Ihre App auf einem anderen Emulator und schließen Sie sie.
  • Starten Sie nun Ihre App im vorherigen Emulator erneut.
M. Usman Khan
quelle
0

Wenn sich der WLAN-Spot geändert hat, starten Sie den Emulator einfach neu, damit der Emulator die Netzwerkeinstellungen vom DHCP-Dienst aktualisiert.

MiguelSlv
quelle
0

Das Zurücksetzen der Netzwerkeinstellungen auf dem Android Emulator behebt dieses Problem.

MachineBreaker
quelle
0

Ein einfacher Kaltstart funktionierte für mich, ohne dass andere Emulatoren gestartet oder der Speicher gelöscht werden mussten.

Schließen Sie einfach Ihren Emulator und wählen Sie die Option "Jetzt kalt starten" im Drop-Menü neben der Wiedergabetaste. Wenn Sie nicht nach einer der hier aufgeführten umfassenderen Optionen suchen, empfehle ich, immer mit der einfachsten Lösung zu beginnen.

Viel Glück!

Eduardo A del Corral Lira
quelle
0

Versuchen Sie möglicherweise, LAN zu verwenden, falls verfügbar. Das ist ein Zauber für mich ...

Senthil Kumar Moorthy
quelle
0

Für neue Suchbenutzer: Manchmal ist VPN Ihre Lösung. Eine Änderung der Netzwerkeinstellungen ist aufgrund von Netzwerkproblemen nicht immer möglich. Wenn Sie sich in IP-Adressen befinden, auf die Google für diese Regionen nicht reagiert, verwendet Ihre Lösung VPN. Verwenden Sie einen geeigneten VPN (einen VPN, mit dem Sie Ihr Android Studio aktualisieren können). Wenn Ihr VPN eingeschaltet ist, starten Sie Ihr AVD-Gerät ( Natürlich ist das API-Level Ihres Emulators wichtig, zum Beispiel habe ich kein Problem mit API 22, aber für API 28 muss VPN verwendet werden!). Dies war meine Erfahrung mit dem Android-Emulator-Internet.

Maniaq
quelle
0

Ändern Sie den Standort des Emulators und setzen Sie ihn auf Ihren aktuellen Standort.

  • Schritte : -

    1. Klicken Sie in den Emulatoroptionen auf Mehr
    2. Gehe zum Ort
    3. Suchen Sie Ihre Adresse und klicken Sie auf SET LOCATION
Gagan Raghunath
quelle