Android Studio - Emulatore Android Wifi connesso senza Internet


101

Ho sprecato un'intera giornata a provare diverse soluzioni in giro in SO e in altri luoghi menzionati per abilitare il wifi sull'emulatore Android ma senza alcun risultato. Qualcuno può aiutarmi a capire come abilitare Internet sul mio emulatore Android?

Ho Nexus 5X API 27 e il target è Android 8.1 (Google Play) e Nexus 5 API P e il target è Android 7.1.1.

Credo che dovrebbe esserci un modo per abilitare Internet su di esso, altrimenti l'intero punto di fornire il wifi virtuale sull'emulatore sembra essere uno spreco.

Sono su mac OS HS 10.13.4 connesso direttamente al mio router senza proxy.

Ho anche provato a cancellare tutti gli AVD, reinstallandoli. Ho anche provato ad installare l'ultimo Pixel 2 con Oreo Android 8.1

Niente sembra funzionare. Qualcuno ha affrontato questo problema e ha trovato una soluzione?

Qualsiasi aiuto sarebbe di grande aiuto

Grazie, Vikram

Aggiornamento: quando collego il mio computer tramite il telefono come Wi-Fi hotspot, l'emulatore ha Internet tramite Wi-Fi, ma non riesce quando collego il mio computer al router di casa.


non è già abilitato?

Ho lo stesso problema. Funziona tramite l'hotspot del telefono ma non tramite il router. Che tipo di router hai? Tutto funzionava bene prima quando avevo un router AVM, ma ora ho un router Telekom Speedport e non funziona più.
TheBaj

1
@ TheBaj: Il tipo di router potrebbe non essere il problema qui o potrebbe esserlo, ma non lo so. Prova la soluzione di seguito che ha funzionato per me.
Vikram Mahishi

1
@VikramMahishi aggiorna l'emulatore del tuo sdk Android. Per me sta funzionando.
Zala Janaksinh

Risposte:


190

Di seguito sono indicate le soluzioni per Windows e Mac, ma soluzioni simili funzioneranno su qualsiasi sistema operativo:

  1. Su Windows

    • Apri Centro connessioni di rete e condivisione e fai clic su Connessione corrente
    • Fare clic su Proprietà
    • Fare doppio clic su Protocollo Internet versione 4 (TCP / IPv4)
    • Imposta i server DNS preferito e alternativo come (Screenshot sotto):

      8.8.8.8
      8.8.4.4
      
  2. Su Mac

    • Vai a Impostazioni> Rete> Avanzate ...> DNS
    • Elimina tutte le voci che hai lì e aggiungi queste due voci (Screenshot sotto):

      8.8.8.8
      8.8.4.4
      

      Nota: per gli utenti Mac, se il campo delle voci è disabilitato e non sei in grado di modificarlo, fai clic sull'icona "Blocca" nell'area inferiore di quella finestra e inserisci la password per poter apportare modifiche

Riavvia l'emulatore e dovrebbe risolvere:

Screenshot:

  1. finestre

L'emulatore Android non si connette alla soluzione Internet su Windows

  1. Mac

L'emulatore Android non si connette alla soluzione Internet su un Mac


Modifica: questa è la soluzione per una situazione in cui il wifi dell'emulatore ha cambiato il DNS in un DNS non funzionante. Sebbene funzioni per la maggior parte del tempo, potrebbero esserci anche altri motivi che potrebbero non essere risolti da questa soluzione.


6
Sono rimasto estremamente perplesso da questo problema. Questo lo risolve perfettamente. Kudos!
Vijay Kumar Kanta

1
Grazie. Non l'avrei mai capito da solo!
pkozlowski

incappare in questo utilizzando emulatori Android 8 Oreo (AVD) su Android Studio. sia il flag cli e il cambio DNS a livello di sistema lo hanno risolto.
Thom

1
grazie! ha lottato con questo errore per più di 3 giorni
RL Shyam

2
Grazie !!!! ha funzionato per me, 8.8.8.8 8.8.4.4
kallayya Hiremath

104

La mia soluzione utilizzando Mac OSX 10.13

Ho letto che era causato dalla scheda LAN e dal WiFi abilitati, e alcuni approcci mi sembravano complicati, quindi l'ho semplicemente provato e ha funzionato:

  • WiFi disabilitato sul mio laptop.
  • Ha spento l'emulatore.
  • È stato eseguito un avvio a freddo sull'emulatore (AVD Manager -> sulle azioni dell'emulatore -> Avvio a freddo ora).
  • Dopo il riavvio con il WiFi del laptop disabilitato, l'emulatore ha mostrato una connessione WiFi corretta (l'emulatore mostra ancora AndroidWifi ma è connesso a Internet del mio laptop. Il simbolo WiFi ora assomiglia a questo: Simbolo WiFi connesso )
  • Ho quindi abilitato il WiFi sul mio laptop e tutto ha funzionato.

1
Ha funzionato e ho eseguito una "cancellazione dei dati" prima del "avvio a freddo" e ho dovuto configurare il WiFi nell'emulatore, c'era una notifica quando si scorreva verso il basso sulla schermata principale.
Manuel

4
Ha funzionato per me! Ho appena eseguito un avvio a freddo con Wi-Fi disabilitato e ha funzionato bene.
Hasen

1
Ha funzionato per me. Grazie.
Michael Angelo Reyes

1
Ha funzionato come un fascino !! Grazie :)
SARATH SASI

2
Questa è una soluzione molto migliore rispetto alla modifica delle impostazioni DNS globali sul tuo computer.
Tyler Wood

42

@TheBaj: ho capito il problema e l'ho risolto. Il problema è quando sei connesso tramite il router, androidwifi nel tuo emulatore utilizza le impostazioni e imposta il DNS su qualcosa di diverso da 8.8.8.8 che è il DNS di Google (presumo che questa sia un'impostazione obbligatoria per androidwifi per ottenere Internet accesso). Ma se cambio il DNS nelle mie impostazioni di rete, il plug-in dei servizi di Google che recupera le tue dipendenze, in particolare quella da cui viene scaricatojcenter() , non verrà scaricato e quindi la tua sincronizzazione fallirà, il che alla fine fallisce la tua build.

Quindi il trucco è che hai il tuo DNS di Google (8.8.8.8) configurato nelle impostazioni di rete dopo le impostazioni del router predefinito: questa parte si occupa di scaricare le dipendenze da jcenter()e la sincronizzazione e la compilazione riescono.

Ora avvia il tuo emulatore con il emulator @Nexus_5X_API_27 -dns-server 8.8.8.8comando dal terminale che costringe l'emulatore a utilizzare 8.8.8.8 come DNS e l'emulatore avrà Internet.

Sto lavorando su un'app reattiva nativa, quindi per me Android Studio è inutile e ho configurato il mio bashrc per avviare i diversi emulatori come segue,

   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
   }

Quindi da un terminale avvio l'emulatore di mia scelta e poi eseguo la build su un altro terminale che esegue la mia app sull'emulatore avviato e IL MIO EMULATORE FANTASTICO HA ACCESSO A INTERNET. :)

Prova questo e spero che questo aiuti.

Grazie, Vikram


Grazie, ora funziona.
Ho

"emulatore" non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch.
Bhupesh

@ Bhupesh vedi %HOME%\AppData\Local\Android\Sdk\emulator- è qui che l'ho trovato.
t3chb0t

10

Stavo riscontrando lo stesso problema e seguendo i passaggi seguenti lo ho risolto.

Passaggi:

  1. Vai alle Impostazioni dell'emulatore
  2. Seleziona la scheda Proxy
  3. Quindi seleziona l'opzione "Utilizza le impostazioni del proxy HTTP di Android Studio"
  4. Fare clic su Applica


Questa è l'unica risposta che ha funzionato per me, grazie!
Arià

9

Su macOS:

  1. Apri Rete in Preferenze di Sistema .
  2. Selezionare la rete corrente dal lato sinistro quindi fare clic su Avanzate ... .
  3. Modificare Configura IPv6 (nella scheda TCP / IP ) da Automaticamente a Solo collegamento locale .
  4. Riavvia il tuo emulatore.

8

Soluzione per Windows:

  1. Vai alla posizione dell'SDK Android, ad esempio: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator .
  2. Apri il prompt dei comandi nella stessa posizione. Scrivere questo comando: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Qui Nexus_4_API_29sarà il nome del tuo dispositivo emulatore (puoi trovarlo nell'elenco dei dispositivi da Android Studio -> AVD Manager). Questo comando eseguirà il dispositivo specificato e il WIFI sarà connesso a Internet.

Spero che sia di aiuto.


Sì, ha funzionato solo per me. In precedenza mostrava Connesso, ma non Internet. Dopo aver implementato la soluzione, ha iniziato a funzionare.
ashishdhiman 2007

@ ashishdhiman2007 È bello sapere che il tuo problema è stato risolto usando la mia soluzione :)
Shehzad Osama

7

Ho risolto con google dns sulla scheda di rete 8.8.8.8e8.8.4.4

Emulatore Android wifi connesso senza soluzione Internet per Windows


Spero che questo venga segnalato come bug da qualche parte perché ci è voluto del tempo anche per me.
Renetik

7

Cancella i dati facendo clic con il pulsante destro del mouse sull'elenco dei dispositivi virtuali e l'avvio a freddo funziona per me ..


6

Bene, l'ho fatto in questo modo:

Passaggi per aggiungere un proxy manuale:

  1. Vai a impostazioni dell'emulatore
  2. Vai a scheda Proxy
  3. Impostato configurazione manuale del proxy
  4. Aggiungi il tuo nome host e numero di porta
  5. Fare clic su Applica

Schermata di riferimento:

inserisci qui la descrizione dell'immagine

Spero che sia d'aiuto.


6

Su Mac OSX (Catalina per me), il problema è causato dal fatto che l'emulatore preleva automaticamente il server dei nomi guardando /etc/resolv.conf e scegliendo il primo, nel mio caso un indirizzo IPv6. Fonte: https://developer.android.com/studio/run/emulator-networking#dns

Modifica semplicemente il file (sudo vi /etc/resolv.conf) e sposta l'indirizzo IPv4 (192.168.1.1 nel mio caso) prima degli indirizzi IPv6. Scherzi a parte, questo è tutto.


4

Forse questo aiuterebbe qualcuno. Ho provato tutte le soluzioni sopra. Modifica del DNS, avvio a freddo, ecc. Dopo diverse ore di tentativi ed errori, sono andato alla documentazione ufficiale, che diceva che l'emulatore rileva la configurazione DNS. della macchina host al momento dell'avvio dell'emulatore. Avevo VMWare installato sulla mia macchina, che installa alcuni adattatori di rete. Quindi, ho appena cambiato la configurazione DNS. di tutti gli adattatori (inclusi gli adattatori VMWare) e ha avviato a freddo il mio emulatore. OMG, il problema che non sembrava risolversi per ore, è appena andato a buon fine!

Ora, quello che trovo strano è che ho ripristinato la configurazione DNS. di tutti gli adattatori su auto e riavviato a freddo il mio emulatore. Il WiFi funziona ancora bene. Sistema operativo: Windows 10.


Avevo solo bisogno di avviare a freddo l'emulatore
KvdLingen

4

100% funzionante su Windows 10

Android AVD viene fornito con Google DSN configurato all'interno di emulatori. Quindi dobbiamo impostare lo stesso per la condivisione di rete per accedere allo stesso.

Indirizzi IP di Google Public DNS Gli indirizzi IP di Google Public DNS (IPv4) sono i seguenti:

8.8.8.8

8.8.4.4

Gli indirizzi IPv6 di Google Public DNS sono i seguenti:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 È possibile utilizzare uno degli indirizzi come server DNS primario o secondario.

Ulteriori informazioni

Qui mostro per l'impostazione dei passaggi IP v4

  1. Rete aperta e centro di condivisione
  2. Fare clic con il pulsante destro del mouse sulla connessione Internet corrente
  3. Seleziona Proprietà
  4. Fare doppio clic su Protocollo Internet versione 4 (TCP / IPv4)
  5. Seleziona Utilizza il seguente indirizzo del server DNS
  6. Imposta il server DNS preferito e alternativo
  7. Server DNS preferito: 8.8.8.8
  8. Server DNS alternativo: 8.8.4.4
  9. Fare clic su OK
  10. Riavvia Android AVD

Nota: se la VPN è abilitata, non funzionerà, è necessario disconnettere la tua VPN

Maggiori informazioni su Google DSN


1
Purtroppo abbiamo bisogno di VPN quando WFH. Non riesco a credere che Google abbia abbandonato questo problema per molti anni.
You-Liang Shih

3

Su Windows :

Dopo aver testato alcune soluzioni, ho trovato la mia facendo clic sulla freccia in basso sull'AVD, opzione "Cold Boot Now". dopo l'avvio, Android ha avuto accesso a Internet, quindi ha funzionato per me.


2

Un semplice avvio a freddo ha funzionato per me, non è necessario avviare altri emulatori o cancellare la memoria.

Basta chiudere l'emulatore e selezionare l'opzione "Cold Boot Now" nel menu a discesa adiacente al pulsante di riproduzione. In caso contrario, cercare una delle opzioni più complete elencate qui, ma suggerisco di iniziare sempre con la soluzione più semplice.

In bocca al lupo!


2

Se hai una VPN connessa, prova a disconnetterla.

Per me era tramite VPN Cisco AnyConnect Secure Mobility Client. Una volta chiuso il client Cisco (che termina la connessione VPN), l'emulatore WiFi su Android ha iniziato a funzionare.


Grazie, mi hai salvato :) Ho usato NordVPN e disconnetterlo mi ha aiutato.
ymerdrengene

@ymerdrengene contento che abbia aiutato! :)
Adomas

1

Cosa ha funzionato per me:

  • Spegni l'emulatore (usando il suo tasto di accensione)
  • Avvia la tua app su UN ALTRO emulatore e poi chiudila.
  • Ora avvia nuovamente la tua app nell'emulatore precedente.

1

Se lo spot wifi è cambiato, riavvia semplicemente l'emulatore in modo che l'emulatore aggiorni le impostazioni di rete dal servizio dhcp.


1

Il ripristino delle impostazioni di rete su Android Emulator risolve questo problema.


1

Per i nuovi utenti che effettuano ricerche: a volte la VPN è la tua soluzione La modifica delle impostazioni di rete non è sempre possibile a causa di problemi di rete. Se ti trovi in ​​indirizzi IP che Google non risponde per queste regioni, la tua soluzione sta utilizzando vpn.Usa una VPN adeguata (una VPN che attraverso di essa potresti aggiornare il tuo studio Android) .Quando la tua VPN è accesa, avvia il tuo dispositivo avd ( Ovviamente il livello api del tuo emulatore è importante, ad esempio non ho alcun problema con api 22 ma per api 28 è necessario utilizzare vpn!) Questa è stata la mia esperienza con l'emulatore Android Internet.


1

Modificare la posizione dell'emulatore e impostarlo sulla posizione corrente.

  • Passaggi: -

    1. Fare clic su Altro nelle opzioni dell'emulatore
    2. Vai alla posizione
    3. Cerca il tuo indirizzo e fai clic su IMPOSTA POSIZIONE

1

Ho avuto lo stesso problema: nell'emulatore ero connesso al wifi / lte ma non riuscivo ad accedere a nessun sito web.

La soluzione per me era correggere l'IP del mio server DNS di casa:

$ cat /etc/resolv.conf 
search home
nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router
nameserver 1.1.1.1
nameserver 1.0.0.1

non hai davvero bisogno di usare google dns


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.