L'émulateur Android n'est pas en mesure d'accéder à Internet


255

Je sais que des questions similaires ont été posées auparavant, mais mon problème n'est nouveau qu'après l'installation d'Android Studio 2.3, la dernière version en mars 2017. J'ai plusieurs années d'expérience dans le développement d'applications Android, et je n'ai jamais rencontré ce problème auparavant. Après la mise à niveau vers la version 2.3 d'Android Studio, mon émulateur ne peut plus accéder à Internet. J'ai même désinstallé / réinstallé Android Studio 2.3 à partir de zéro et créé un nouvel émulateur, et je reçois toujours la même erreur. Ce n'est pas un problème d'application. Je ne peux même pas accéder à Internet depuis Chrome et je n'ai pas eu ce problème la semaine dernière. Le message que je reçois dit que l'adresse DNS du serveur est introuvable - DNS_PROBE_FINISHED_BAD_CONFIG. La seule chose qui a changé sur mon ordinateur au cours de la dernière semaine est la nouvelle version d'Android et éventuellement les mises à jour de Windows 10. Et oui, mon ordinateur a accès à Internet. Vous trouverez ci-dessous une image de mon émulateur lorsque j'essaie d'utiliser Chrome pour rechercher «Google». émulateur avec message d'erreur


J'ai découvert un problème supplémentaire avec Android Studio 2.3 qui n'est pas lié à l'accès à Internet mais qui pourrait être lié à celui ci-dessus. Avec Android Studio ouvert à un projet et un émulateur en cours d'exécution, je peux très bien exécuter l'application sur l'émulateur. Mais si j'ouvre Android Device Monitor, il m'indique que l'émulateur est hors ligne. Ensuite, si je ferme Android Device Monitor et reviens à Android Studio, il m'indique également que l'émulateur est hors ligne. Je dois fermer et redémarrer l'émulateur avant qu'Android Studio puisse le retrouver. Ce problème, comme celui ci-dessus, est reproductible.
John Moore

Une autre mise à jour. J'ai installé Android Studio 2.3 sur un autre ordinateur Windows 10 plus ancien / plus lent et le problème persiste. En outre, à un moment donné, j'ai pensé que le problème pouvait être lié à un mauvais correctif Microsoft WPD, mais l'ancien ordinateur n'avait pas le correctif installé. De plus, après plusieurs tentatives infructueuses, j'ai pu supprimer le mauvais correctif de mon ordinateur principal, et toujours pas réussi à faire fonctionner Chrome sur un émulateur. À ce stade, je suis plus certain que le problème réside dans Android Studio 2.3.
John Moore

Veuillez lire ceci si vous êtes sous Windows: stackoverflow.com/a/43066809/2827025
anemomylos

1
Je pense que cette question est toujours bonne, car elle est plus «générale» que celle citée et aussi parce qu'elle mentionne la mise à niveau d'Android Studio. En avril 2018, je viens de le mettre à niveau vers la version 3.1.2 et j'ai soudainement commencé à avoir ce problème.
Shine

9
Je ne comprends pas pourquoi nous devons perdre autant de temps sur ce genre de problèmes. Équipe Android ... il suffit de le réparer!
r3dm4n

Réponses:


372

Changez l'adresse DNS de votre réseau en 8.8.8.8 (DNS de Google) ou une autre de votre préférence:

Mac OS X:
  • Ouvrez "Préférences Système"
  • Cliquez sur "Réseau"
  • Sélectionnez le réseau auquel votre ordinateur est connecté et cliquez sur "Avancé"
  • Sélectionnez "DNS", sélectionnez le bouton "+", tapez "8.8.8.8" (DNS de Google) ou si vous préférez OpenDNS, "208.67.222.222"
  • Sélectionnez "Ok" et "Appliquer"

Windows et Linux:

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


Après cela, fermez l'émulateur et redémarrez-le.


J'ai dû suivre ce guide pour Windows: developers.google.com/speed/public-dns/docs/using mais cela a aussi fonctionné pour moi. Je suppose que pour une raison quelconque, mon réseau domestique n'était pas configuré correctement pour l'émulateur.
Chud37

10
Si vous ne voulez pas que votre trafic DNS passe par Google, utilisez plutôt les paramètres OpenDNS. 208.67.222.222 et 208.67.220.220
Justin Noel

5
J'ai fait la même chose, mais j'ai dû redémarrer l'émulateur pour le faire fonctionner, merci pour l'astuce!
Steven Elliott

30
Acheminez tout le trafic DNS de votre système hôte vers Google, quelle réponse -.-
fl034

2
Vous pouvez également au lieu de "forcer brutalement" votre ordinateur entier à utiliser un nouveau serveur DNS (Et puis, par défaut, votre émulateur hérite de ces changements) il suffit de modifier les paramètres DNS de l'émulateur ... Il y a un tas de façons de le faire . Plus de détails sur les différentes options disponibles ici: stackoverflow.com/questions/2039964/…
trcarden

204

Après avoir essayé plusieurs de ces solutions, j'allais juste supprimer mon AVD actuel et le refaire, mais quand j'ai cliqué sur la flèche vers le bas sur l'AVD, j'ai remarqué "Cold Boot Now".

Menu AVD

Sur un coup de tête, j'ai essayé ça. Et voilà mon émulateur a de nouveau une connectivité Internet!

EDIT: Ok, pour ceux qui disent pourquoi ne pas simplement effacer les données et redémarrer. Reformatez-vous votre PC à chaque redémarrage? L'effacement des données sur l'émulateur revient à effectuer une réinitialisation d'usine sur un téléphone ou à reformater votre disque dur sur votre PC et à réinstaller votre système d'exploitation. C'est inutile à moins que les données ne soient totalement corrompues.

Lorsque vous éteignez l'émulateur et le redémarrez, c'est comme mettre votre PC en veille prolongée ou en veille. La mémoire n'est pas effacée, elle est enregistrée.

Faire un démarrage à froid revient à redémarrer votre téléphone ou à redémarrer votre PC. Il réinitialise la mémoire et permet aux choses de se recharger. Cela permet à l'émulation réseau de démarrer avec une mémoire propre et de se connecter correctement.

Alors, n'effacez pas vos données. Juste démarrage à froid. Si cela ne fonctionne toujours pas, essuyez-le, mais enregistrez-le en dernier recours.


8
Cela m'a corrigé après être passé du filaire au wifi
Lucas

3
Fonctionne aussi pour moi, confronté au même problème de commutation entre différents adaptateurs réseaux. Le problème semble être que l'émulateur est toujours en quelque sorte connecté à la configuration de connexion précédente, donc lorsque l'émulateur démarre avec Cold Boot Now, la configuration réseau est redémarrée et tout recommence à fonctionner. Merci d'avoir partagé ;)!!
Gueorgui Obregon

1
Fonctionne bien! mais pourquoi?
ucMedia

1
Essuyez-vous votre téléphone à chaque redémarrage? C'est ce qu'est un démarrage à froid sur l'émulateur, un redémarrage à froid. C'est la même chose que d'éteindre votre téléphone et de le rallumer. Il n'est pas nécessaire d'effacer les données de l'émulateur après un démarrage à froid, sauf s'il présente toujours des problèmes.
Timothy Winters

Cela a fonctionné pour moi .. J'ai essayé différents proxy, essayé de redémarrer, créé différents AVD .. Je ne sais pas pourquoi cela a fonctionné .. mais a fonctionné .. !!
Swapnil Kale

122

J'ai trouvé une solution temporaire sur un ancien thread Stack Overflow lors de la mise à niveau vers le SDK 2.3 - maintenant, aucun émulateur n'a de connectivité . Notez que ce fil parle d'Android SDK 2.3, pas d'Android Studio 2.3. Le problème semble être que l'émulateur ne peut pas trouver le DNS que mon ordinateur utilise actuellement, et la solution temporaire consiste à démarrer l'émulateur à partir de la ligne de commande et à spécifier le serveur DNS. Quel que soit le problème survenu à l'époque, il doit avoir réapparu dans la dernière version d'Android Studio.

La solution temporaire décrite ci-dessous résout le problème avec l'émulateur accédant à Internet. Cependant, il ne résout pas le problème qui se produit lorsque vous essayez d'exécuter Android Device Monitor. Cela rendra toujours l'émulateur hors ligne comme décrit ci-dessus.

Notez qu'il y a deux fichiers nommés "emulator.exe" dans le sdk - un sous sdk \ tools et un autre sous sdk \ emulator. Les deux pourraient fonctionner ci-dessous, mais j'utilise celui sous sdk \ emulator.

La première étape consiste à trouver l'emplacement du SDK. En supposant un nom d'utilisateur "jdoe" et une installation par défaut d'Android Studio sur Windows, le SDK est très probablement dans

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

La deuxième étape consiste à déterminer le nom de l'AVD (émulateur) que vous souhaitez exécuter. La commande

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

affichera les noms de vos AVD. Sur mon ordinateur, il n'en affiche qu'un, Nexus_5X_API_25.

Pour démarrer l'émulateur à partir de la ligne de commande avec un serveur DNS spécifié, utilisez quelque chose comme ceci:

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

Dans ce cas, 8.8.8.8 est un serveur de noms de domaine public Google.

Les commandes ci-dessus peuvent être raccourcies si vous créez des variables d'environnement appropriées et modifiez votre variable d'environnement PATH, mais je vous recommande d'être prudent lorsque vous le faites.


Cela a absolument fonctionné pour moi, mais je souhaite qu'il y ait un moyen de nettoyer le DNS en dehors de la ligne de commande.
JaviCasa

après avoir payé 199 $ de licence pour Windows Pro pour obtenir Hyer-V et après avoir découvert que l'émulateur Visual Studio ne prend pas en charge google_api_services, j'ai trouvé cette solution qui permet à l'émulateur Android de se connecter à Internet ... J'ai l'impression: |
Monah

2
Cela fonctionne totalement, mais incroyable c'est toujours un problème avec Android Studio 3.0 (émulateur 27.1.12). Peut-être lié au fait d'avoir à la fois des adaptateurs réseau câblés et sans fil dans le système sans fil désactivé?
Victor Rendina

J'ai déposé un bogue auprès de Google et j'espère qu'il examinera les commentaires ici et résoudra le problème sous-jacent.
pattes

@paws pourriez-vous lier le bogue que vous avez déposé? Vous voulez aussi le mettre en vedette!
amitavk

56

La mise à jour de mon adaptateur WIFI pour résoudre DNS sur 8.8.8.8 a résolu le problème pour moi. Cela a commencé à se produire après une mise à jour d'Apple qui a foiré l'adresse DNS.

entrez la description de l'image ici


13
N'oubliez pas de redémarrer l'émulateur après avoir effectué ce changement, comme le suggère Ana Paula.
Jordan

1
Voir mon commentaire ci-dessus sur l'utilisation d'OpenDNS au lieu de Google. stackoverflow.com/questions/42736038/…
Justin Noel

Ne doit pas être 8.8.8.8 ou OpenDNS, tout serveur DNS en état de marche fonctionnera
sudo

30

Ouvrez simplement le gestionnaire AVD et effacez les données de cet émulateur qui fonctionne pour moi.


1
Il devait avoir mon ancienne connexion wifi mise en cache, car j'ai déménagé vers un autre emplacement wifi et ce problème a commencé à se produire. J'ai essuyé l'AVD et redémarré et il a récupéré le wifi au nouvel emplacement.
Mike Flynn

27

J'ai rencontré ce même problème après la mise à niveau. Lors de l'ouverture du navigateur Chrome dans l'émulateur, google.com n'était plus accessible.

J'ai trouvé un article sur SO qui suggérait que le problème venait de l'émulateur qui essayait d'utiliser une carte réseau déconnectée. Pour moi, le problème se produisait lorsque j'étais connecté à un réseau local. La désactivation de l'adaptateur LAN sans fil a résolu le problème.

Pour désactiver l'adaptateur:

  1. Accédez à Connexions réseau
  2. Trouver l'adaptateur
  3. Faites un clic droit et choisissez désactiver

2
Merci pour le conseil. Je commençais à soupçonner quelque chose comme ça depuis que j'ai remarqué que la connexion via l'adaptateur LAN filaire a également résolu le problème. Il devrait également être possible de résoudre ce problème en modifiant la priorité des deux adaptateurs, mais dans les deux cas, cela semble être un correctif drastique. Pourquoi Google ne peut-il pas simplement réparer les émulateurs pour qu'ils utilisent la connexion que mon ordinateur utilise. Comme je l'ai dit, ce n'était pas un problème avant de passer à Android Studio 2.3. Pour l'instant, je vais m'en tenir à l'autre solution où je spécifie le serveur DNS.
John Moore

Merci. J'ai un adaptateur LAN et sans fil. Fonctionne après avoir désactivé l'adaptateur sans fil.
Plugie

Exactement! J'ai désactivé tous les adaptateurs réseau de mon PC à l'exception de mon adaptateur WiFi et cela a fonctionné. Je vous remercie.
Alexander.Iljushkin

21

Ouvrez l'émulateur Android et accédez aux contrôles étendus . Ensuite, allez dans le paramètre => proxy (Tab) et décochez "Utiliser le paramètre de proxy HTTP Android studuio".


D'un autre côté, j'ai dû le vérifier à nouveau pour faire fonctionner Internet. :(
Sankalp

a fonctionné comme un charme, mais a dû redémarrer l'émulateur pour qu'il prenne le réglage.
u84six

15

J'ai résolu l'effacement des données d'AVD Manager


2
Ça marche pour moi. Je suis mon cas, j'utilisais l'émulateur avec l'API 22. Après "Wipe Data" et "Cold Boot Now", la connexion Internet fonctionne bien, mais j'ai dû réinstaller l'application.
Akostha

14

Cela m'est arrivé lorsque l'émulateur s'est figé et j'ai dû arrêter le processus. L'icône de signal montrait toujours le petit "x" comme dans la capture d'écran et aucune connexion Internet n'a réussi.

La seule chose qui a aidé était la désinstallation et la réinstallation de l'émulateur (pas les images AVD)

Dans Android Studio:

Outils-> Android -> SDK Manager Décochez "Android Emulator" et laissez-le désinstaller puis vérifiez à nouveau et laissez-le réinstaller.

Capture d'écran


2
Eu exactement le même problème, l'a fait et le problème n'a pas été résolu. Mais après avoir redémarré tout l'ordinateur, Internet fonctionne maintenant sur l'émulateur.
antogerva

ça marche pour moi, ma situation .. réinstaller android studio j'ai utilisé mes anciens fichiers SDK
AGTHAMAYS

2
C'est la seule solution qui a fonctionné pour moi (sur un Mac fyi)
vikzilla

Je dois admettre que c'était la seule solution qui fonctionnait aussi sur un mac!
Anoop Santhanam

13

Je suis également confronté au même problème, mais j'essaie de résoudre le problème en utilisant divers messages. Aujourd'hui, j'ai découvert ce problème. La configuration de votre ordinateur est probablement le problème, pas Android Studio et l'émulateur Android.

Le problème vient de votre configuration réseau. Réglez simplement le serveur DNS principal sur 8.8.8.8, ce qui résoudra le problème.


9

[UPDATE 2020] pour les utilisateurs Mac

  1. Préférences de système
  2. Réseau
  3. WiFi> Sélectionner à l'avance
  4. Dans l'onglet Advance Choose DNC
  5. Addd DNS Server 8.8.8.8

et vous êtes fait


8

Cela a été un problème pour moi la dernière fois que l'émulateur s'est mis à jour et, à l'époque, la désactivation d'autres adaptateurs réseau l'a corrigé. Maintenant, il est recadré, mais le seul adaptateur qui est activé est un seul wifi, donc je n'ai rien à désactiver.

Le problème n'est réapparu qu'après avoir mis à jour via une invite les outils de l'émulateur vers 26.1.1. J'ai désinstallé et réinstallé l'émulateur via l'onglet de mise à jour des outils SDK et, heureusement, la seule option lors de la nouvelle installation est d'installer 26.0.3 (ce qui semble fonctionner correctement).

La morale de l'histoire est de se méfier des mises à jour de l'émulateur .


A fonctionné pour moi, avait la même version exacte, et après la désinstallation, réinstallé 26.0.3.
Sammy Patenotte

Cette solution a également fonctionné pour moi! J'ai dû installer 26.0.3 depuis Android Studio 2.3. cependant (l'aperçu 3.0 ne montrait que 26.1.1.). Merci beaucoup!
Attila Molnár

8

Rappel : la connexion Internet de l'émulateur Android ne fonctionne pas si vous activez un système VPN sur votre ordinateur.


7

Pour moi, le problème est survenu lorsque j'ai ramené mon ordinateur portable à la maison sans redémarrer l'émulateur. D'après ce que j'ai lu, lorsque l'émulateur démarre, il lit les paramètres DNS de votre PC et les utilise. Lorsque j'étais sur mon réseau domestique, mes paramètres DNS de travail échouaient.
Donc voilà. Le simple redémarrage de l'émulateur a résolu mon problème.


6

J'ai obtenu une solution simple et permanente pour ce problème dans Windows.

Accédez à l' option réseau et Internet- >entrez la description de l'image ici

cliquez sur l' option Etherenet ou wifi (pour lequel vous êtes connecté) -> entrez la description de l'image ici

Cliquez sur l' option de changement d'adaptateur -> entrez la description de l'image ici

Faites un clic droit sur le réseau auquel vous vous êtes connecté. entrez la description de l'image ici

Une boîte de dialogue s'ouvrira et cliquez simplement sur l'option de version de protocole Internet (TCP / IPv4) . entrez la description de l'image ici

Une autre boîte de dialogue s'ouvrira et il ne vous restera plus qu'à négliger le premier ensemble concernant l'adresse IP (Conserver tel qu'il est défini) et cliquez sur le bouton radio Utiliser les adresses de serveur DNS suivantes: et entrez comme 8.8.8.8 dans Serveur DNS préféré: et 8.8. 4.4 dans le serveur DNS alternatif: entrez la description de l'image ici

Maintenant, vous pouvez ouvrir votre émulateur à tout moment et vous obtiendrez Internet dans les émulateurs Android.


Aucune des autres solutions n'a fonctionné pour moi, mais celle-ci a fonctionné! Comme une mention: je suis sur un câble LAN, j'ai donc fait les changements sur ce paramètre au lieu de la connexion Wifi.
Zbarcea Christian

6

la fermeture de l'émulateur et la réouverture ont fonctionné pour moi

OS WINDOWS 10


1
Cela a fonctionné pour moi. J'ai essayé de redémarrer le téléphone virtuel, mais ce n'était pas suffisant. Le problème peut être déclenché en autorisant l'émulateur en cours d'exécution à passer en veille prolongée. Merci.
Alexei

4

Après 10 jours de problèmes, je viens de tout C:\Android\.android\supprimer et de supprimer tous les AVD créés. Maintenant, Internet semble bien fonctionner.


4

Si le navigateur Android peut accéder à Internet, vous pouvez exécuter l'émulateur à partir du terminal par cette commande

aller au chemin du SDK puis

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

il résout votre problème Internet ...


4

Il y avait aussi un problème pour moi, en désactivant le proxy dans les paramètres d'Android Studio et en exécutant l'émulateur avec "Cold Boot Now", le problème a été résolu.


3

La recréation de l'émulateur avec une autre API cible a fonctionné pour moi


3

Je suis sur Android Studio 3.1 et c'est arrivé. Résolu en redémarrant le serveur adb

$ adb kill-server
$ adb start-server

J'espère que ça aide. Je vous remercie


2

J'ai rencontré le même problème tout à coup sur mon MAC. Après avoir tout essayé, j'ai finalement supprimé le dossier /Users/Philippe/.android et créé un nouvel émulateur .


2

Vous avez peut-être défini un proxy pour Android Studio et le proxy ne fonctionne pas. Essayez sans proxy.


2

J'avais le même problème et j'ai résolu les étapes ci-dessous: -

Accédez au paramètre de l'émulateur, puis accédez à

setting-> Proxy-> Soit le configurer manuellement ou utiliser Tick utiliser le simulateur de proxy HTTP Android Studio.


2

J'ai Visual Studio 2017, et ce simple clic a résolu un problème Internet pour l'émulateur Android.

entrez la description de l'image ici


2

Veuillez passer par le lien ci-dessous.

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

Émulateur ouvert, cliquez sur Plus ... , puis sur Paramètres et proxy. À partir de là, vous pouvez définir vos propres paramètres de proxy HTTP.


Entrez le nom d'hôte en suivant Exécuter> cmd> nom d'hôte

Enfin, vérifiez l'accès Internet à l'intérieur de l'émulateur en naviguant dans Chrome ou Google.

Remarque: Souvent, l'effacement des données résout le problème. Veuillez suivre toutes les étapes


1

J'avais également cela et je l'ai résolu en créant un nouvel appareil virtuel d'émulateur Android et en choisissant Nexus 4 api 27. J'ai donc essayé une configuration totalement différente et Android Emulator a une connexion Internet comme prévu. D'autres solutions n'ont pas fonctionné pour moi mais je n'ai pas tout essayé.


1

Pour moi sur OSX, c'était à cause de l'utilisation d'une solution VPN tierce ... il installe une sorte de crochet réseau que les AVD et Genymotion ne pouvaient pas acheminer. J'ai dû le désinstaller pour que cela fonctionne correctement. A bien fonctionné sur certains réseaux et pas sur d'autres ... était très bizarre ..


1

J'ai eu le même problème sous Windows 10. Je suis juste allé sur le 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. Problème résolu!


1

Si vous êtes derrière un proxy, les éléments suivants peuvent être utiles:

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.