493 votes

L'émulateur Android ne peut pas accéder à l'internet

Je sais que des questions similaires ont déjà été posées, mais mon problème est nouveau seulement après avoir installé 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 n'est plus en mesure d'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 j'obtiens 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'avais pas ce problème la semaine dernière. Le message que j'obtiens indique que l'adresse DNS du serveur n'a pas pu être trouvée - DNS_PROBE_FINISHED_BAD_CONFIG. La seule chose qui a changé sur mon ordinateur au cours de la semaine dernière est la nouvelle version d'Android et éventuellement les mises à jour de Windows 10. Et oui, mon ordinateur a accès à l'internet. Vous trouverez ci-dessous une image de mon émulateur lorsque j'essaie d'utiliser Chrome pour rechercher "Google". emulator with error message

0 votes

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é d'une certaine manière à celui ci-dessus. Avec Android Studio ouvert à un projet et un émulateur en cours d'exécution, je peux exécuter l'application sur l'émulateur sans problème. Mais si j'ouvre Android Device Monitor, il m'indique que l'émulateur est hors ligne. Ensuite, si je ferme Android Device Monitor et que je retourne à 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 le précédent, est reproductible.

0 votes

Une autre mise à jour. J'ai installé Android Studio 2.3 sur un autre ordinateur Windows 10, plus ancien et plus lent, et le problème se produit toujours. De plus, à un moment donné, j'ai pensé que le problème pouvait être lié à un mauvais patch WPD de Microsoft, mais l'ordinateur plus ancien n'avait pas le patch installé. De plus, après plusieurs tentatives infructueuses, j'ai pu supprimer le mauvais correctif de mon ordinateur principal, et toujours pas de succès pour faire fonctionner Chrome sur un émulateur. À ce stade, je suis plus certain que le problème se situe au niveau d'Android Studio 2.3.

0 votes

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

728voto

Ana Paula Points 1513

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

MacOSX :

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

0 votes

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

28 votes

Si vous ne voulez pas que votre trafic DNS passe par Google, utilisez les paramètres OpenDNS à la place. 208.67.222.222 et 208.67.220.220

14 votes

J'ai fait la même chose, mais j'ai dû redémarrer l'émulateur pour que ça marche, mais merci pour l'astuce !

400voto

Timothy Winters Points 1367

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

AVD Menu

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

EDIT : Ok, pour ceux qui disent pourquoi ne pas simplement effacer les données et redémarrer. Est-ce que vous reformatez votre PC à chaque fois que vous le redémarrez ? Effacer les données sur l'émulateur, c'est comme faire une réinitialisation d'usine sur un téléphone ou reformater votre disque dur sur votre PC et réinstaller votre OS. C'est inutile, sauf si les données sont totalement corrompues.

Lorsque vous éteignez l'émulateur et que vous le redémarrez, c'est comme si vous mettiez votre PC en mode hibernation ou veille. La mémoire n'est pas effacée, elle est sauvegardée.

Faire un démarrage à froid est la même chose que redémarrer votre téléphone ou votre PC. Cela réinitialise la mémoire et laisse les choses se recharger. Cela permet à l'émulation réseau de démarrer avec une mémoire propre et de se connecter correctement.

Donc, n'effacez pas vos données. Démarrez simplement à froid. Si ça ne marche toujours pas, effacez-les, mais ne le faites qu'en dernier recours.

14 votes

Cela a réglé le problème pour moi après être passé du filaire au wifi.

4 votes

Cela fonctionne pour moi aussi, je rencontre le même problème en passant d'un adaptateur réseau à un autre. Le problème semble être que l'émulateur est toujours connecté d'une manière ou d'une autre à la configuration de connexion précédente, donc lorsque l'émulateur est démarré avec Cold Boot Now, la configuration réseau est redémarrée et tout recommence à fonctionner. Merci pour le partage ;) !

6 votes

Cela fonctionne bien ! mais pourquoi ?

173voto

John Moore Points 1548

J'ai trouvé une solution temporaire sur un vieux fil de Stack Overflow à l'adresse suivante Mise à jour du SDK 2.3 - maintenant aucun émulateur n'a de connectivité . Notez que ce fil de discussion parle d'Android SDK 2.3, et non 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 à lancer l'émulateur à partir de la ligne de commande et à spécifier le serveur DNS. Quel que soit le problème rencontré à l'époque, il a dû réapparaître dans la dernière version d'Android Studio.

La solution temporaire décrite ci-dessous résout le problème de l'accès de l'émulateur à Internet. Cependant, elle ne résout pas le problème qui se produit lorsque vous essayez d'exécuter Android Device Monitor. L'émulateur sera toujours déconnecté 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. L'un ou l'autre pourrait fonctionner ci-dessous, mais j'utilise celui sous sdk \emulator.

La première étape consiste à trouver où se trouve le SDK. En supposant que le nom d'utilisateur est "jdoe" et que l'installation par défaut d'Android Studio sur Windows, le SDK se trouve très probablement dans le répertoire

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 AVDs. Sur mon ordinateur, il n'en montre qu'un seul, 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 ce qui suit :

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 de Google.

Les commandes ci-dessus peuvent être raccourcies si vous créez les variables d'environnement appropriées et modifiez votre variable d'environnement PATH, mais je vous recommande la prudence dans ce cas.

0 votes

Cela a parfaitement fonctionné pour moi, mais j'aimerais qu'il y ait un moyen de nettoyer le DNS en dehors de la ligne de commande.

0 votes

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 supporte pas google_api_services, j'ai trouvé cette solution qui permet à l'émulateur Android de se connecter à Internet... Je me sens comme :|

2 votes

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

74voto

Joao Gavazzi Points 802

La mise à jour de mon adaptateur WIFI pour résoudre le 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 perturbé l'adresse DNS.

enter image description here

18 votes

N'oubliez pas de redémarrer l'émulateur après avoir effectué cette modification, comme le suggère Ana Paula.

1 votes

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

0 votes

Il n'est pas nécessaire que ce soit 8.8.8.8 ou OpenDNS, n'importe quel serveur DNS fonctionnel fonctionne.

30voto

bmul Points 303

J'ai rencontré le même problème après la mise à jour. En ouvrant le navigateur Chrome dans l'émulateur, il n'était plus possible d'accéder à google.com.

J'ai trouvé un poste 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églé le problème.

Pour désactiver l'adaptateur :

  1. Naviguez jusqu'à Connexions réseau
  2. Trouver l'adaptateur
  3. Cliquez sur le bouton droit de la souris et choisissez de désactiver

2 votes

Merci pour le conseil. Je commençais à soupçonner quelque chose de ce genre depuis que j'ai remarqué que la connexion via l'adaptateur LAN filaire résolvait également le problème. Il devrait également être possible de résoudre ce problème en modifiant la priorité des deux adaptateurs, mais l'une ou l'autre solution semble être une solution radicale. Pourquoi Google ne peut-il pas simplement faire en sorte que les émulateurs utilisent la connexion que mon ordinateur utilise ? Comme je l'ai dit, ce n'était pas un problème avant la mise à jour vers Android Studio 2.3. Pour l'instant, je vais m'en tenir à l'autre solution où je spécifie le serveur DNS.

0 votes

Merci. J'ai un réseau local et un adaptateur sans fil. Cela fonctionne après avoir désactivé l'adaptateur sans fil.

0 votes

Exactement ! J'ai désactivé tous les adaptateurs réseau de mes PC, à l'exception de mon adaptateur WiFi, et cela a fonctionné. Merci.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X