Emulatore Android non in grado di accedere a Internet


255

So che domande simili sono state poste prima, ma il mio problema è nuovo solo dopo l'installazione di Android Studio 2.3, l'ultima versione di marzo 2017. Ho diversi anni di esperienza nello sviluppo di applicazioni Android e non ho mai riscontrato questo problema prima. Dopo l'aggiornamento alla versione 2.3 di Android Studio, il mio emulatore non è più in grado di accedere a Internet. Ho anche disinstallato / reinstallato Android Studio 2.3 da zero e creato un nuovo emulatore e sto ancora ottenendo lo stesso errore. Questo non è un problema con l'app. Non riesco nemmeno ad accedere a Internet da Chrome e non ho riscontrato questo problema la scorsa settimana. Il messaggio che ricevo dice che non è stato possibile trovare l'indirizzo DNS del server - DNS_PROBE_FINISHED_BAD_CONFIG. L'unica cosa che è cambiata sul mio computer nell'ultima settimana è la nuova versione di Android e forse anche gli aggiornamenti a Windows 10. E sì, il mio computer ha accesso a Internet. Di seguito un'immagine del mio emulatore quando provo a utilizzare Chrome per cercare "Google". emulatore con messaggio di errore


Ho scoperto un ulteriore problema con Android Studio 2.3 che non è correlato all'accesso a Internet ma potrebbe in qualche modo essere correlato a quello sopra. Con Android Studio aperto a un progetto e un emulatore in esecuzione, posso eseguire correttamente l'app sull'emulatore. Ma se apro Android Device Monitor, mi dice che l'emulatore non è in linea. Quindi, se chiudo Android Device Monitor e torno ad Android Studio, mi dice anche che l'emulatore non è in linea. Devo chiudere e riavviare l'emulatore prima che Android Studio possa trovarlo di nuovo. Questo problema, come quello sopra, è ripetibile.
John Moore,

Un altro aggiornamento. Ho installato Android Studio 2.3 su un altro computer Windows 10, più vecchio / più lento, e il problema persiste. Inoltre, a un certo punto ho pensato che il problema potesse essere correlato a una brutta patch Microsoft WPD, ma il computer più vecchio non aveva la patch installata. Inoltre, dopo diversi tentativi falliti, sono stato in grado di rimuovere la patch difettosa dal mio computer principale e ancora non riuscivo a far funzionare Chrome su un emulatore. A questo punto sono più sicuro che il problema risieda in Android Studio 2.3.
John Moore,

Si prega di leggere questo se siete in Windows: stackoverflow.com/a/43066809/2827025
Anemomylos

1
Penso che questa domanda sia ancora buona, in quanto è più "generale" di quella citata e anche perché menziona l'aggiornamento di Android Studio. A partire da aprile 2018, l'ho appena aggiornato alla versione 3.1.2 e ho iniziato a presentare questo problema.
Splendi

9
Non capisco perché dobbiamo perdere così tanto tempo su questo tipo di problemi. Team Android ... risolvilo e basta!
r3dm4n,

Risposte:


372

Cambia l'indirizzo DNS della tua rete in 8.8.8.8 (DNS di Google) o in un'altra delle tue preferenze:

MacOSX:
  • Apri "Preferenze di Sistema"
  • Clicca su "Rete"
  • Seleziona la rete a cui è collegato il tuo computer e fai clic su "Avanzate"
  • Seleziona "DNS", seleziona il pulsante "+", digita "8.8.8.8" (DNS di Google) o se preferisci OpenDNS, "208.67.222.222"
  • Seleziona "Ok" e "Applica"

Windows e Linux:

https://developers.google.com/speed/public-dns/docs/using


Quindi chiudere l'emulatore e riavviarlo.


Ho dovuto seguire questa guida per Windows: developers.google.com/speed/public-dns/docs/using ma ha funzionato anche per me. Immagino per qualche motivo che la mia rete domestica non sia stata impostata correttamente per l'emulatore.
Chud37

10
Se non desideri che il tuo traffico DNS passi attraverso Google, utilizza invece le impostazioni OpenDNS. 208.67.222.222 e 208.67.220.220
Justin Noel,

5
Ho fatto lo stesso, ma poi ho dovuto riavviare l'emulatore per farlo funzionare, grazie comunque per il suggerimento!
Steven Elliott,

30
Indirizza tutto il traffico DNS del tuo sistema host verso Google, che risposta -.-
fl034

2
Puoi anche invece di "forzare brutalmente" l'intero computer per utilizzare un nuovo server DNS (e quindi per impostazione predefinita il tuo emulatore eredita tali modifiche) basta modificare le impostazioni DNS per l'emulatore ... Ci sono molti modi per farlo . Maggiori dettagli sulle varie opzioni disponibili qui: stackoverflow.com/questions/2039964/...
trcarden

203

Dopo aver provato molte di queste soluzioni, stavo per eliminare il mio attuale AVD e farlo di nuovo, ma quando ho fatto clic sulla freccia giù sull'AVD, ho notato "Cold Boot Now".

Menu AVD

Per un capriccio ci ho provato. Ecco, il mio emulatore ha di nuovo la connettività Internet!

EDIT: Ok, per quelli che dicono perché non semplicemente cancellare i dati e riavviare. Riformatta il tuo PC ogni volta che lo riavvii? Cancellare i dati sull'emulatore è come fare un ripristino delle impostazioni di fabbrica su un telefono o riformattare il disco rigido sul PC e reinstallare il sistema operativo. Non è necessario a meno che i dati non siano completamente corrotti.

Quando si spegne l'emulatore e lo si riavvia, è come mettere il PC in modalità sospensione o sospensione. La memoria non viene cancellata, viene salvata.

Fare un avvio a freddo è lo stesso del riavvio del telefono o del riavvio del PC. Reimposta la memoria e consente di ricaricare le cose. Ciò consente all'emulazione di rete di iniziare con memoria pulita e connettersi correttamente.

Quindi, non cancellare i tuoi dati. Solo avvio a freddo. Se continua a non funzionare, pulisci, ma salvalo come ultima risorsa.


8
Questo mi ha risolto il problema dopo il passaggio da cablato a wifi
Lucas

3
Funziona anche per me, affrontando lo stesso problema passando da schede di rete diverse. Il problema sembra essere che l'emulatore sia ancora in qualche modo collegato alla configurazione di connessione precedente, quindi quando l'emulatore viene avviato con Cold Boot Now la configurazione di rete viene riavviata e tutto ricomincia a funzionare. Grazie per la condivisione ;)!!
Gueorgui Obregon,

1
Funziona bene! ma perché?
ucMedia,

1
Pulisci il telefono ogni volta che riavvii? Questo è ciò che è un avvio a freddo sull'emulatore, un riavvio a freddo. È come spegnere il telefono e riaccenderlo. Non è necessario cancellare i dati dall'emulatore dopo un avvio a freddo, a meno che non abbia ancora problemi.
Timothy Winters,

Questo ha funzionato per me .. Ho provato diversi proxy, ho provato a riavviare, ho creato diversi AVD .. Non sono sicuro del motivo per cui ha funzionato .. ma ha funzionato .. !!
Swapnil Kale,

122

Ho trovato una soluzione temporanea su un vecchio thread Stack Overflow su Upgrade a SDK 2.3 - ora nessun emulatore ha connettività . Nota che questa discussione parla di Android SDK 2.3, non di Android Studio 2.3. Il problema sembra essere che l'emulatore non è in grado di trovare il DNS attualmente utilizzato dal mio computer e la soluzione temporanea è avviare l'emulatore dalla riga di comando e specificare il server DNS. Qualunque problema si sia verificato allora, deve essere riapparso nell'ultima versione di Android Studio.

La soluzione temporanea descritta di seguito risolve il problema con l'emulatore che accede a Internet. Tuttavia, non risolve il problema che si verifica quando si tenta di eseguire Android Device Monitor. In questo modo l'emulatore rimarrà offline come descritto sopra.

Si noti che ci sono due file denominati "emulator.exe" in sdk: uno in sdk \ tools e un altro in sdk \ emulator. Entrambi potrebbero funzionare sotto, ma io uso quello sotto sdk \ emulator.

Il primo passo è trovare dove si trova l'SDK. Supponendo che un nome utente di "jdoe" e un'installazione predefinita di Android Studio su Windows, molto probabilmente l'SDK in

C:\Users\jdoe\AppData\Local\Android\sdk

Il secondo passo è determinare il nome dell'AVD (emulatore) che si desidera eseguire. Il comando

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds

mostrerà i nomi dei tuoi AVD. Sul mio computer, ne mostra solo uno, Nexus_5X_API_25.

Per avviare l'emulatore dalla riga di comando con un server DNS specificato, utilizzare qualcosa di simile al seguente:

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8

In questo caso, 8.8.8.8 è un server dei nomi di dominio pubblico di Google.

I comandi precedenti possono essere abbreviati se si creano variabili di ambiente appropriate e si modifica la variabile di ambiente PATH, ma si consiglia cautela nel farlo.


Questo ha funzionato assolutamente per me, ma vorrei che ci fosse un modo per ripulire il DNS al di fuori della riga di comando.
JaviCasa,

dopo aver pagato 199 $ di licenza per Windows Pro per ottenere Hyer-V e dopo aver scoperto che l'emulatore Visual Studio non supporta google_api_services, ho trovato questa soluzione che rende l'emulatore Android per la connessione a Internet ... Mi sento come: |
Monah,

2
Funziona totalmente, ma è incredibile che sia ancora un problema con Android Studio 3.0 (emulatore 27.1.12). Forse correlato ad avere adattatori di rete sia cablati che wireless nel sistema con wireless disabilitato?
Victor Rendina,

Ho presentato un bug a Google e spero che riescano a rivedere i commenti qui e a risolvere qualunque sia il problema di fondo.
zampe

@paws potresti collegare il bug che hai archiviato? Vuoi anche recitare!
amitavk,

56

L'aggiornamento del mio adattatore WIFI per risolvere il DNS su 8.8.8.8 ha risolto il problema per me. Ha iniziato a succedere dopo un aggiornamento Apple che ha incasinato l'indirizzo DNS.

inserisci qui la descrizione dell'immagine


13
Non dimenticare di riavviare l'emulatore dopo aver apportato questa modifica, come suggerisce Ana Paula.
Giordania,

1
Vedi il mio commento sopra sull'uso di OpenDNS invece di Google. stackoverflow.com/questions/42736038/…
Justin Noel,

Non deve essere 8.8.8.8 o OpenDNS, nessun server DNS funzionante funzionerà
sudo,

30

Basta aprire AVD Manager e cancellare i dati di quell'emulatore per me.


1
Deve aver avuto la mia vecchia connessione wifi memorizzata nella cache, perché mi sono trasferito in un'altra posizione Wi-Fi e questo problema ha iniziato a verificarsi. Ho cancellato l'AVD e riavviato e ha ripreso il wifi nella nuova posizione.
Mike Flynn,

27

Ho riscontrato questo stesso problema dopo l'aggiornamento. All'apertura del browser Chrome nell'emulatore, google.com non è più raggiungibile.

Ho trovato un post su SO che suggeriva che il problema era con l'emulatore che cercava di utilizzare una scheda di rete disconnessa. Per me il problema si stava verificando quando ero collegato a una LAN. La disabilitazione dell'adattatore LAN wireless ha risolto il problema.

Per disabilitare l'adattatore:

  1. Passa a Connessioni di rete
  2. Trova l'adattatore
  3. Fare clic con il tasto destro e selezionare disabilita

2
Grazie per il consiglio. Stavo iniziando a sospettare qualcosa del genere poiché ho notato che anche il collegamento tramite l'adattatore LAN cablato ha risolto il problema. Dovrebbe anche essere possibile risolvere questo problema modificando la priorità dei due adattatori, ma in entrambi i casi sembra essere una soluzione drastica. Perché Google non può semplicemente riparare gli emulatori per utilizzare la connessione utilizzata dal mio computer. Come ho detto, questo non era un problema prima di passare ad Android Studio 2.3. Per ora rimarrò con l'altra soluzione in cui specifico il server DNS.
John Moore,

Grazie. Ho LAN e adattatore wireless. Funzionando dopo disabilita l'adattatore wireless.
Plugie il

Esattamente! Ho spento tutti gli adattatori di rete del mio PC, escluso il mio adattatore WiFi, e questo ha funzionato. Grazie.
Alexander.Iljushkin,

21

Apri l'emulatore Android e vai ai controlli estesi . Quindi vai alle impostazioni => proxy (Tab) e deseleziona "Usa impostazioni proxy HTTP studuio Android".


D'altra parte, ho dovuto ricontrollarlo per far funzionare Internet. :(
Sankalp,

ha funzionato come un incantesimo, ma ha dovuto riavviare l'emulatore per poter riprendere l'impostazione.
u84 settembre 819

15

Ho risolto la cancellazione dei dati da AVD Manager


2
Per me funziona. Nel mio caso stavo usando l'emulatore con API 22. Dopo "Wipe Data" e "Cold Boot Now" la connessione Internet funziona bene, ma ho dovuto reinstallare l'app.
Akostha,

14

Questo è successo a me quando l'emulatore si è bloccato e ho dovuto interrompere il processo. L'icona del segnale mostrava sempre la piccola "x" come nello screenshot e nessuna connessione a Internet aveva esito positivo.

L'unica cosa che ha aiutato è stata la disinstallazione e reinstallazione dell'emulatore (non delle immagini AVD)

In Android Studio:

Strumenti-> Android -> Manager SDK Deseleziona "Emulatore Android" e lascialo disinstallare, quindi controlla di nuovo e lascialo installare di nuovo.

Immagine dello schermo


2
Aveva lo stesso identico problema, ha fatto questo e il problema non è stato risolto. Ma dopo aver riavviato l'intero computer, Internet ora funziona sull'emulatore.
antogerva,

funziona per me, la mia situazione .. reinstallare Android Studio ho usato i miei vecchi file SDK
AGTHAMAYS

2
Questa è l'unica soluzione che ha funzionato per me (su un Mac
Fyi

Devo essere d'accordo sul fatto che questa era l'unica soluzione funzionante anche su un mac!
Anoop Santhanam,

13

Anche io sto affrontando lo stesso problema, ma sto cercando di risolvere il problema utilizzando vari post. Oggi ho scoperto questo problema. La configurazione del tuo computer è molto probabilmente il problema, non Android Studio e l'emulatore Android.

Il problema proviene dalla configurazione della rete. Basta impostare il server DNS primario su 8.8.8.8, che risolverà il problema.


9

[AGGIORNAMENTO 2020] per utenti Mac

  1. Preferenze di Sistema
  2. Rete
  3. WiFi> Seleziona Avanzate
  4. Da Advance Scegli la scheda DNC
  5. Addd DNS Server 8.8.8.8

e sei fatto


8

Questo è stato un problema per me l'ultima volta che l'emulatore si è aggiornato da solo e poi disabilitato altri adattatori di rete lo ha riparato. Ora è di nuovo ritagliato ma l'unico adattatore che è abilitato è un singolo wifi quindi non ho nulla da disabilitare.

Il problema è riapparso solo dopo che ho aggiornato tramite un prompt gli strumenti di emulazione al 26.1.1. Ho disinstallato e reinstallato l'emulatore tramite la scheda di aggiornamento degli strumenti dell'SDK e per fortuna l'unica opzione per l'installazione successiva è installare 26.0.3 (che sembra funzionare correttamente).

La morale della storia è quella di diffidare degli aggiornamenti dell'emulatore .


Ha funzionato per me, aveva la stessa versione esatta e, dopo la disinstallazione, ha reinstallato 26.0.3.
Sammy Patenotte,

Questa soluzione ha funzionato anche per me! Ho dovuto installare 26.0.3 da Android Studio 2.3. sebbene (l'anteprima 3.0 mostrasse solo il 26.1.1.). Molte grazie!
Attila Molnár,

8

Promemoria : la connessione Internet dell'emulatore Android non funziona se si attiva un sistema VPN sul computer.


7

Per me il problema è stato causato quando ho portato il mio laptop a casa senza riavviare l'emulatore. Da quello che ho letto, quando si avvia l'emulatore legge le impostazioni DNS del tuo PC e le utilizza. Quando ero sulla mia rete domestica, le mie impostazioni DNS di lavoro non andavano a buon fine.
Quindi si Il riavvio dell'emulatore ha risolto il mio problema.


6

Ho ottenuto una soluzione semplice e permanente per questo problema in Windows.

Vai all'opzione rete e internet- >inserisci qui la descrizione dell'immagine

fai clic sull'opzione Etherenet o wifi (per la quale sei connesso) -> inserisci qui la descrizione dell'immagine

Fare clic sull'opzione Cambia adattatore -> inserisci qui la descrizione dell'immagine

Fare clic con il tasto destro sulla rete per la quale è stata effettuata la connessione. inserisci qui la descrizione dell'immagine

Verrà aperta una finestra di dialogo e sarà sufficiente fare clic sull'opzione Versione protocal di Internet (TCP / IPv4) . inserisci qui la descrizione dell'immagine

Verrà aperta un'altra finestra di dialogo e trascurerai semplicemente il primo set sull'indirizzo IP (Mantieni come è impostato) e fai clic sul pulsante di opzione Usa i seguenti indirizzi del server DNS: e inserisci come 8.8.8.8 in Server DNS preferito: e 8.8. 4.4 in Server DNS alternativo: inserisci qui la descrizione dell'immagine

Ora puoi aprire l'emulatore ogni volta e otterrai internet negli emulatori Android.


Nessuna delle altre soluzioni ha funzionato per me, ma questa ha funzionato! Come menzione: sono sul cavo LAN, quindi ho apportato le modifiche a questa impostazione anziché alla connessione Wifi.
Zbarcea Christian,

6

chiudere l'emulatore e riaprire ha funzionato per me

OS WINDOWS 10


1
Questo ha funzionato per me. Ho provato a riavviare il telefono virtuale, ma non è stato sufficiente. Il problema potrebbe essere innescato consentendo l'emulatore in esecuzione attraverso l'ibernazione. Grazie.
Alexei,

4

Dopo 10 giorni di problemi, ho appena eliminato tutto C:\Android\.android\e cancellato tutti gli AVD creati. Ora internet sembra funzionare bene.


4

se il browser Android può accedere a Internet è possibile eseguire l'emulatore dal terminale con questo comando

vai al percorso SDK quindi

$ / tools / emulator -avd Nexus_5X_API_23 -netdelay none -netspeed full

risolve il tuo problema con Internet ...


4

Si è verificato un problema anche per me, disabilitando il proxy nelle impostazioni di Android Studio ed eseguendo l'emulatore con "Cold Boot Now", il problema è stato risolto.


3

La semplice ricostruzione dell'emulatore con un'altra API di destinazione ha funzionato per me


3

Sono su Android Studio 3.1 ed è successo. Risolto riavviando il server adb

$ adb kill-server
$ adb start-server

Spero che sia d'aiuto. Grazie


2

Ho affrontato lo stesso e improvvisamente stesso problema sul mio MAC. Dopo aver provato tutto, ho finalmente eliminato la cartella /Users/Philippe/.android e ho creato un nuovo emulatore .


2

Forse hai impostato un proxy per Android Studio e il proxy non funziona. Prova senza proxy.


2

Stavo avendo lo stesso problema e ho risolto con i passaggi seguenti: -

Vai alle impostazioni dell'emulatore e poi vai a

setting-> Proxy-> O configuralo manualmente o usa Tick usa simulatore proxy HTTP Android Studio.


2

Sto avendo Visual Studio 2017 e questo semplice clic ha risolto il problema di Internet per l'emulatore Android.

inserisci qui la descrizione dell'immagine


2

Si prega di passare attraverso il link qui sotto.

https://developer.android.com/studio/run/emulator-networking

Emulatore aperto, fai clic su Altro ... , quindi su Impostazioni e Proxy. Da qui, puoi definire le tue impostazioni proxy HTTP.


Immettere il nome host seguendo Esegui> cmd> nomehost

Infine, controlla l'accesso a Internet all'interno dell'emulatore navigando in Chrome o Google.

Nota: spesso i dati cancellati eliminano il problema. Si prega di seguire tutti i passaggi


1

Ho avuto anche questo e l'ho risolto creando un nuovo dispositivo virtuale di emulatore Android e ho scelto Nexus 4 api 27. Prima di creare il dispositivo Pixel api 28, e non funzionava nemmeno dopo aver ricreato il dispositivo. Quindi ho provato una configurazione totalmente diversa e Android Emulator ha una connessione Internet come previsto. Altre soluzioni non hanno funzionato per me, ma non ho provato tutto.


1

Per me su OSX, è stato a causa dell'utilizzo di una soluzione VPN di terze parti ... installa una sorta di hook di rete che AVD e Genymotion non sono in grado di instradare. Ho dovuto disinstallarlo perché funzioni correttamente. Ha funzionato bene su alcune reti e non su altre ... era molto strano ..


1

Ho avuto lo stesso problema su Windows 10. Sono appena andato al Network & internet settings> Change adapter options> right-click on Wi-Fi and chose properties> Chose Internet protocol version 4 in the list and clicked properties> Turned on the "Use the following DNS server addresses" and filled the first part with "8.8.8.8" address. Problema risolto!


1

Se sei dietro un proxy, potrebbe essere utile quanto segue:

adb shell settings put global global_http_proxy_port YOUR_PROXY_PORT

adb shell settings put global global_http_proxy_host YOUR_PROXY_IP

reboot
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.