Come collegare l'emulatore Android a Internet


272

Come posso collegare il mio emulatore Android a Internet, ad es. Per usare il browser? Ho trovato molti consigli su cosa fare quando sei connesso tramite un proxy, ma non è questo il caso qui, la mia macchina (Windows 7) è direttamente collegata al router.


1
Avevo le impostazioni DNS della mia scheda di rete impostate manualmente sul mio router a 192.168.1.1, ma quando l'ho cambiato in automatico, ha funzionato.
rwilson04,

Ho avuto questo problema quando ho avviato l'emulatore prima di attivare il WiFi sul mio computer. La soluzione era accendere il WiFi sul mio esterno di Co quindi arrestare / avviare l'emulatore.
divieto di geoingegneria dal


Usa questo link per risolvere ur problema stackoverflow.com/questions/50670547/...
kallayya Hiremath

Risposte:


289

Penso che alcune delle risposte possano essere state indirizzate a questo, per quanto obliquamente, ma ecco cosa ha funzionato per me.

Supponendo che il problema si verifichi quando ci si trova su una rete wireless e si dispone di una scheda LAN installata, il problema è che l'emulatore tenta di ottenere le impostazioni DNS da quella scheda LAN. Non è un problema quando sei connesso tramite quella LAN, ma assolutamente inutile se sei su una connessione wireless. L'ho notato quando ero sul mio laptop.

Quindi, come risolvere? Semplice: disabilita la tua scheda LAN. Veramente. Vai alle tue connessioni di rete, trova la tua scheda LAN, fai clic con il tasto destro del mouse e scegli disabilita. Ora prova il tuo emulatore. Se sei come me, all'improvviso ... funziona!


2
Sì, quello era il mio scenario, uso il wireless su Win7, quindi ho chiuso l'emulatore, disabilitato la mia scheda LAN e riavviato l'emulatore e ha funzionato.
Mina Samy,

2
In realtà, l'emulatore prende l'adattatore con la massima priorità, quindi cambiare la priorità degli adattatori (wireless come il più alto) dovrebbe funzionare anche e non richiederà di disabilitare completamente l'adattatore LAN. Grazie per la risposta, però, mi ha risparmiato un mal di testa
thomaux,

1
@Anzeo: e come si modifica l'ordine su Windows?
Martin,

1
Controlla le impostazioni del firewall: come menziona @ moon_walker333 in questo thread. AVG stava bloccando la mia applicazione.
ccbunney,

1
Grazie mille - ho passato ore a cercare di risolvere questo problema ed è stato finalmente in grado di farlo funzionare una volta che ho disabilitato la mia scheda di rete. Cordiali saluti, ecco come è possibile modificare la priorità dell'adattatore di rete: eightforums.com/tutorials/…
znelson

84

Se sei su Mac - prova questo -

  1. Vai Icona Apple -> Preferenze di Sistema -> Rete
  2. Fai clic sull'icona a forma di ingranaggio sul e seleziona "Imposta ordine di servizio"
  3. Porta l'interfaccia attiva prima di un'altra interfaccia.
  4. Riavvia l'emulatore Android.

4
+1: questa è sicuramente la risposta più utile per chi ha un Mac.
sherb

5
Cosa significa passaggio 3? Ho portato il mio dispositivo virtuale sotto Wi-Fi e il mio computer si è spento da solo.
Iammesol,

3
@Iammesol, credo che il passaggio 3 significhi trascinare il nome della connessione attiva (ad esempio wifi / ethernet) in alto. Almeno ha funzionato per me.
Himel Nag Rana,

62

Ecco una risposta per gli sviluppatori che utilizzano Android Studio .

Sistema operativo: Mac OS X El Capitan

IDE: Android Studio 2.2

Per alcuni motivi, non sono stato in grado di accedere a Internet tramite il mio AVD al lavoro (probabilmente problemi di configurazione del proxy o della rete). Quello che ha fatto il trucco per me è stato quello di lanciare in linea di comando il mio AVD e dare manualmente il DNS pubblico di Google 8.8.8.8.

Nel tuo Terminale vai agli strumenti delle cartelle del tuo sdk Android per trovare il programma 'emulatore':

cd ~/Library/Android/sdk/tools

Quindi recuperare il nome dei tuoi AVD:

emulator -list-avds

Ti restituirà qualcosa del genere:

Android_Wear_Round_API_23
Nexus_10_API_22
Nexus_5X_API_22
Nexus_5X_API_24
Nexus_9_API_24

Quindi avviare l'AVD desiderato con le seguenti istruzioni:

emulator -avd NameOfYourDevice -dns-server 8.8.8.8

L'AVD viene avviato e dovresti essere in grado di utilizzare Internet.


1
Questo ha funzionato per me perché il mio Mac ha perso le impostazioni DNS. Non è colpa dell'emulatore. Tale impostazione DNS viene estratta dal Mac. Ma questo post mi ha aiutato a capirlo.
ezaspi,

Ho creato un semplice script per fare proprio questo, puoi verificarlo su: gist.github.com/brotoo25/246d8767982ed74ce98ed165ea099a5d
Brotoo25

57

La mia piattaforma: Mac OS 10.6.4 Eclipse: 3.6

Ho avuto un problema simile in cui lo sfondo dell'app della mia mappa era grigio (senza riquadri) e il browser non era in grado di connettersi a Internet.

All'interno di Eclipse sono andato su Esegui configurazioni -> Destinazione e ho aggiunto " -dns-server X.X.X.X" e tutto ha funzionato bene in seguito. (ovviamente X.X.X.Xera l'indirizzo IP per il mio server DNS).


6
Ho aggiunto "-dns-server XXXX" al campo "Opzioni della riga di comando dell'emulatore aggiuntivo".
Jeremy Kie,

5
+1 Questo ha funzionato per me. Ho avuto problemi mentre ero su una LAN. Ho appena aggiunto il DNIS pubblico 8.8.8.8 e l'ho risolto! Grazie mille!
J.Hendrix,

Fantastico, nel mio caso non è stato rilevato sul server DNS perché stiamo usando 10.0.0.0-255 come nostra sottorete, dovevamo fare -dns-server 10.0.0.1 (anche Windows 7)
Thomas Dignan

3
grazie geniale. Per chiunque (come me!) Non fosse in grado di trovare il campo "Opzioni della riga di comando dell'emulatore aggiuntivo", prova a trascinare verso il basso il bordo inferiore della finestra "Destinazione". Quel campo è stato nascosto per me senza feedback per suggerire che lo fosse!
Chris Knight,

Ho usato il DNS 8.8.8.8 di Google e lo stesso approccio ha funzionato anche per me su Ubuntu 12.04, Eclipse Juno.
pm_labs

25

Per utilizzare Internet tramite proxy sull'emulatore, prova questi passaggi Funzionava per me:

Vai su Impostazioni-> Wireless e reti-> reti mobili-> Nomi punti di accesso. Premere il pulsante menu. apparirà un menu di opzioni.

dal menu delle opzioni selezionare Nuovo APN.

Clicca su Nome. fornire il nome a apn dire Il mio APN.

Fai clic su APN. Inserisci www.

Fai clic su Proxy. inserisci l'IP del tuo server proxy. puoi ottenerlo dal menu delle opzioni di Internet Explorer Internet.

fai clic su Porta. inserisci il numero di porta nel mio caso era 8080. puoi ottenerlo dal menu delle opzioni di Internet Explorer Internet.

Fai clic su Nome utente. fornire nome-utente in formato dominio \ nome-utente. generalmente è il tuo login di sistema.

Clicca sulla password fornire la password del sistema.

premere di nuovo il pulsante menu. apparirà un menu di opzioni.

premi salva questo e prova ad aprire il tuo browser. Penso che ti abbia aiutato?


ho provato ma dà Si è verificato un errore di rete. anche il mio sistema internet funziona bene
Sandeep vashisth,

3
È ancora più semplice se si dispone di un proxy locale che inoltra il traffico a quello "ufficiale" che necessita di autenticazione. In questo caso, utilizzare 10.0.2.2come indirizzo IP del proxy (la macchina host) e configurare il proxy esterno (ad esempio SquidMan ) a proprio piacimento.
Thomas Keller,

non ha funzionato per me ... Cosa inserire il valore per VPN.?
Developer Desk

17
  1. fai clic destro sul Progetto in Eclipse
  2. seleziona Esegui come -> Esegui configurazioni ...
  3. seleziona Applicazione Android e quindi seleziona la scheda "target"
  4. Cerca "Opzioni aggiuntive della riga di comando dell'emulatore" e metti questa riga di comando nella casella di testo

    -http-proxy http: // <nome utente>: <password> @ <nome host>: <porta>


12

Esistono diverse soluzioni a questo problema. Uno di questi, ti mostrerò il mio esperimento e i risultati visti sui risultati usando un recente studio Android e immagini AVD scaricate nel 2017.

  1. La prima cosa che devi fare è avviare il tuo AVD da Android Studio. (nel mio caso ho scelto l'immagine 7.1 Android NEXUSAPI25)

  2. Vai a Impostazioni -> Wirless e Networking -> Rete cellulare -> Access Point -> (+) premi Aggiungi -> inserisci quanto segue se non hai proxy NTLM o proxy (significa che sei direttamente connesso)

    un. aggiungi il nome apn come myAPN b. aggiungi server apn => www c. salva e prova a navigare in Internet.

se questo non funziona, aggiungere "ANDROID_SDK_ROOT" nella variabile di ambiente

Quindi, avviare AVD utilizzando il comando emulatore come segue

emulator -avd Nexus25 -dns-server 8.8.8.8
  1. Per coloro che usano i proxy NTLM, ti mostrerò come funzionerà per me in seguito.

  2. aggiungi il tuo percorso Android_sdk_root nella variabile di ambiente. Questo fa leggere correttamente il codice della riga di comando come usare i nomi AVD e così via.

  3. Avvia il tuo emaulator usando il seguente comando

> emulatore -avd Nexus_5X_API_25 -http-proxy http: // nome utente: password @ indirizzo ip: porta

ACCEDERE

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


1
-dns-serverrisolto. C'è un modo per impostare questo nell'interfaccia utente?
serv-inc,

11

Hai provato ad avviare l'emulatore con privilegi di amministratore ? Ha funzionato per me, sto eseguendo Windows 7 64 bit)


Sto eseguendo anche Windows 7 a 64 bit. Ho provato ad avviare Eclipse come amministratore e AVD Manager come amministratore e nessuno dei due ha funzionato. Devo avviarlo dalla riga di comando in qualche modo come amministratore?
Danny,

Risolto lo stesso problema, l'esecuzione con i privilegi di amministratore ha risolto il mio problema su Windows 10.
Abdul Mannan,

10

Nel mio caso, dovevo solo avviare il dispositivo virtuale Android (AVD) da "Android SDK e AVD Manager", e funzionava


1
Sì, ha funzionato per me .. Stavo solo eseguendo l'app e mi stava innescando l'avvio dell'AVD ...
Swapnil Kale,

10

Se si è dietro un proxy in SDK Manager, in Tools -> Options, NON configurare le impostazioni del proxy. Quando esegui dalla riga di comando aggiungi -http-proxy:

emulator.exe -avd YOUR_AVD_NAME_HERE -http-proxy PROXY:PORT

Ha funzionato per me.


Questa è l'unica soluzione che ha funzionato per me. Tenere presente che quando si disattiva la configurazione del proxy nelle impostazioni di SDK Manager, non sarà possibile accedere agli aggiornamenti dell'SDK, pertanto sarà necessario riattivare le impostazioni del proxy durante la creazione dell'applicazione.
AlanKley,

esiste un file di configurazione che salva la configurazione proxy, in modo che possiamo eseguirlo dal gestore AVD? non dal prompt dei comandi?
Projo,

8

Ho riscontrato questo problema quando ho eseguito il simulatore per la prima volta, l'ho risolto impostando il server DNS con

Library/Android/sdk/platform-tools/adb shell getprop net.dns1

ottenere l'attuale server DNS di simulatore 10.0.2.3

Quindi impostalo sul mio server DNS LAN

Library/Android/sdk/platform-tools/adb shell setprop net.dns1 192.168.1.1

Ha funzionato su Android 25. Questa dovrebbe essere una risposta accettata!
James Yang,

7

Ho anche riscontrato lo stesso problema. La soluzione più semplice che ho scoperto è:

  • Vai alla cartella Android \ Sdk \ emulator e apri il prompt dei comandi.
  • Digitare emulator -list-avdsper visualizzare i nomi di emulatore disponibili.
  • Digita emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8.8.8command e premi invio.

6

Ho avuto un problema simile. Ho installato un'applicazione che ha richiesto l'autorizzazione INTERNET (e l'ho usata) e all'improvviso ha funzionato.

Ragazzi, controllate anche se non siete connessi tramite una VPN da qualche parte, perché può anche disturbare la connessione Internet.

blacharnia


6

In eclissi vai a DDMS

sotto DDMS selezionare Controllo emulatore , che contiene lo stato della telefonia nello stato della telefonia contiene dati -> selezionare Home , questo abiliterà la connessione a Internet, se si desidera disabilitare la connessione a Internet per l'emulatore quindi ---> selezionare Nessuno

(Nota: questo abiliterà le connessioni Internet solo se il tuo PC / laptop su cui stai eseguendo la tua eclissi ha connessioni Internet attive.)


4

Dopo aver letto questo ho deciso di guardare i miei "NIC". Lo metto tra virgolette perché come molti sto eseguendo reti virtuali per dispositivi come Hamachi e Virtual Box. Dopo aver disabilitato Hamachi sono in grado di utilizzare Internet. La mia ipotesi è che l'emulatore scelga il primo nic disponibile indipendentemente dal fatto che sia virtuale. Ora per scoprire se posso riordinare il mio ordine senza strappare la scatola.

Windows 7 a 32 bit


4

Le preferenze del mio ordine di servizio erano corrette (il Wi-Fi era il primo) ma non riuscivo ancora a connettermi.

La risposta è stata quella di disattivare il ponte fulmine:

Preferenze di Sistema> Rete> Thunderbolt Bridge

Quindi impostare Configura IPv4 su off e applicare le modifiche.

Non c'è bisogno di rovistare con Access Point nell'emulatore.


Anch'io. Ho dovuto impostare tutti i servizi su "Configura IPv4: off" e lasciare solo WiFi abilitato. Solo lo spostamento dell'ordine di servizio non sembrava essere sufficiente. Catalina 10.15.4.
Oliver Metz,

3

Ho risolto la mia disabilitazione di tutte le connessioni di rete tranne la connessione wifi che stavo usando, quindi impostando le proprietà su quella rimanente connessione abilitata per avere indirizzi DNS assegnati staticamente. (no DHCP) Questo era su Win7 64 bit


3

Grazie per i suggerimenti. Mi hanno davvero aiutato. La parola "Firewall" mi ha fatto venire in mente un'idea.

Ho una macchina Windows XP con connessione WIFI e nessun proxy. Ho Norton Internet Security in esecuzione sul mio computer con Smart Firewall. Questo Smart Firewall gestisce l'accesso dei programmi alla rete, incluso emulator.exe. Sono andato in Impostazioni -> Controllo programmi e quindi ho concesso pieno accesso a emulator.exe. Dopo questo ho avviato Android Emulator e bang ... Potrei connettermi a Internet.

Spero che questo aiuti nuove persone.

~ Saggy


Sì, il firewall era il mio problema (AVG). Buon posto!
ccbunney,

Ho avuto lo stesso problema con Kaspersky!
Behrouz.M,

2

Se sei su MacOS con 2.2 e continui a vedere un errore sulla connettività dei dati, prova quanto sopra, funziona.

  • Ho rimosso tutte le interfacce di rete tramite Sys Prefs tranne LAN
  • Anche se il mio DNS è fornito da DHCP, ho riscritto il DNS con un solo server
  • Ho usato -http-proxy sulla riga di comando per specificarne uno

Inizia a lavorare in ufficio. Uff.


2

Penso che a volte sia solo enogh semplicemente riavviare il dispositivo virtuale. :-)


2

Ho avuto lo stesso problema sul mio Windows 7 virtuale.

  1. Vai a Connessioni di rete
  2. Alt> Avanzate> Impostazioni avanzate ...
  3. Nella seconda scheda porta l'interfaccia delle reti Internet in alto

spero sia utile grazie a


2

All'interno dell'emulatore Android, l'attivazione della Modalità aereo, quindi la disattivazione, ha funzionato nuovamente per me.


1

sì - in win 7 avvia l'emulatore con i privilegi di amministratore e tutto andrà bene - o almeno otterrai il wireless su Android.


1

Ho avuto un problema simile su Win7 64 bit. Ho provato a disabilitare i miei adattatori hamachi e virtualbox e non ha funzionato. Ho provato ad avviare avd come amministratore e non ha funzionato. Alla fine ho disabilitato l'adattatore tunneling teredo usando le informazioni su questo sito e ha funzionato: http://www.mydigitallife.info/2007/09/09/how-to-disable-tcpipv6-teredo-tunneling-in-vista /


Dopo che ha iniziato a funzionare si è fermato di nuovo. ipconfig ha mostrato che era apparso un nuovo adattatore Microsoft chiamato isatap. Quindi sono andato in Gestione dispositivi> Schede di rete> Mostra dispositivi nascosti e ho disabilitato i 3 adattatori isatap e poi ha ricominciato a funzionare.
Martin Bayly,

1

Ho scoperto che l'avvio dell'emulatore con 'wipe user data' verificato risolto questo problema per me dopo che ho ricostruito la mia macchina di sviluppo da Vista x64 a Win7 x64.


1

sembra che potrebbero esserci alcuni motivi per cui potrebbe non esserci una connessione Internet per un emulatore, nel mio caso stavo lavorando da casa in cui ho una connessione wireless quindi sono entrato in ufficio e collegato direttamente, anche se la mia connessione wireless era disconnessa non è stato disabilitato e non è stata effettuata alcuna connessione all'emulatore. la mia comprensione è che quando si avvia cerca una scheda di rete e se c'è qualche conflitto qui potrebbe risultare in nessuna connessione a Internet. per risolvere vai su Start> Impostazioni> Connessioni di rete fai clic con il pulsante destro del mouse su Connessione rete wireless (se non stai utilizzando la connessione wireless) e seleziona disabilita


1

Non sto usando un proxy ... comunque sto usando uno script ... C'è comunque qualcosa intorno a questo. Sono dietro un firewall aziendale


Hai trovato una soluzione?
Ahamed

0

Non sono sicuro che questo sia il tuo problema, ma ecco come ho risolto il mio.

Ho sempre avuto questo errore "Nessun server DNS trovato" all'avvio dell'emulatore e ho fatto molte ricerche su Google senza risultati. Comunque, ho trovato un post da qualche parte (non lo trovo più) che diceva che il numero di NIC, il numero di voci DNS potrebbe influenzare l'emulatore. Inoltre, sapendo che l'emulatore utilizza una funzione API di Windows (GetNetworkParams ()) per risolvere le voci DNS, non ho potuto fare affidamento sul file% WINDOWS% \ System32 \ Hosts.

Tuttavia, sono andato nelle proprietà delle schede NIC (su Windows 7) per scoprire che stavo specificando un IP statico, ma nessuna voce DNS. Quindi, ho ricevuto le voci DNS dal mio router e le ho inserite nella proprietà NIC. Ho riavviato l'emulatore e ora utilizza le voci DNS corrette!

Ora posso usare la mia connessione Internet con l'emulatore e funziona a meraviglia!

Spero che sia d'aiuto!


0

Pensavo di avere problemi con la connessione del mio emulatore a Internet, ma si è rivelato essere problemi con il codice che stavo usando. So che è ovvio, ma in primo luogo provare il browser sull'emulatore per confermare che non si ha accesso a Internet. Avrei risparmiato un'ora se l'avessi fatto per primo.


0

Ho Mac OS X 10.7.2, Eclipse Helios Service Release 2. Lavoro anche tramite proxy e le mie impostazioni IP sono tramite DHCP. Ho risolto questo problema in primo luogo utilizzando questo articolo http://www.gitshah.com/2011/02/android-fixing-no-internet-connection.html, quindi ho rimosso le impostazioni dell'emulatore e basta andare su Esegui-> Esegui configurazioni-> Destinazione-> Opzioni aggiuntive della riga di comando dell'emulatore e digitare lì -http-proxy xxx.xx.111.1: 3128. Vorrei anche dire che quando ho digitato anche un DNS come questo: -dns-server xxx.xx.111.1 -http-proxy xxx.xx.111.1: 3128 non ha funzionato, ma quando ho rimosso DNS ha funzionato. Inoltre, vorrei notare che le opzioni aggiuntive della riga di comando dell'emulatore non sono visibili senza scorrere fino alla fine di quella finestra. Voglio anche notare che quando cambiate le opzioni dell'emulatore, tutte le app funzioneranno. Ma se si scrivono opzioni aggiuntive della riga di comando dell'emulatore, è necessario scriverle ogni volta per ogni destinazione dell'app in Esegui configurazioni.

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.