Android Studio - Émulateur Android Wifi connecté sans Internet

90

J'ai perdu une journée entière à essayer différentes solutions flottant dans SO et dans un autre endroit mentionné pour activer le wifi sur l'émulateur Android, mais en vain. Quelqu'un peut-il m'aider à comprendre comment activer Internet sur mon émulateur Android?

J'ai l'API 27 du Nexus 5X et la cible est Android 8.1 (Google Play) et l'API P du Nexus 5 et la cible est Android 7.1.1.

Je crois qu'il devrait y avoir un moyen d'activer Internet dessus, sinon tout l'intérêt de fournir un wifi virtuel sur l'émulateur semble être un gaspillage.

Je suis sous mac OS HS 10.13.4 directement connecté à mon routeur sans proxy.

J'ai même essayé de supprimer tous les AVD, de les réinstaller. J'ai même essayé d'installer le dernier Pixel 2 avec Oreo Android 8.1

Rien ne semble fonctionner. Quelqu'un at-il rencontré ce problème et trouvé une solution?

Toute aide serait d'une grande aide

Merci, Vikram

Mise à jour: lorsque je connecte mon ordinateur via mon téléphone en tant que hotspot wifi, l'émulateur a Internet via wifi, mais cela échoue lorsque je connecte mon ordinateur à mon routeur domestique.

Vikram Mahishi
la source
n'est-il pas déjà activé?
J'ai le même problème. Cela fonctionne via mon point d'accès téléphonique, mais pas via mon routeur. Quel type de routeur avez-vous? Tout fonctionnait bien avant quand j'avais un routeur AVM, mais maintenant j'ai un routeur Telekom Speedport et cela ne fonctionnera plus.
TheBaj
1
@TheBaj: Le type de routeur n'est peut-être pas le problème ici ou peut-être, mais je ne sais pas. Essayez la solution ci-dessous qui a fonctionné pour moi.
Vikram Mahishi
1
@VikramMahishi vient de mettre à jour l'émulateur de votre sdk android. Ça marche pour moi.
Zala Janaksinh

Réponses:

174

Vous trouverez ci-dessous les solutions pour Windows et Mac, mais des solutions similaires fonctionneront sur n'importe quel système d'exploitation:

  1. Sous Windows

    • Ouvrez le Centre Réseau et partage et cliquez sur Connexion actuelle
    • Cliquez sur Propriétés
    • Double-cliquez sur Internet Protocol Version 4 (TCP / IPv4)
    • Définissez les serveurs DNS préférés et alternatifs comme (capture d'écran ci-dessous):

      8.8.8.8
      8.8.4.4
      
  2. Sur Mac

    • Allez dans Paramètres> Réseau> Avancé ...> DNS
    • Supprimez toutes les entrées que vous avez là-bas et ajoutez ces deux entrées (capture d'écran ci-dessous):

      8.8.8.8
      8.8.4.4
      

      Remarque: pour les utilisateurs de Mac, si le champ de saisie est désactivé et que vous ne pouvez pas le modifier, cliquez sur l'icône `` Verrouiller '' dans la zone inférieure de cette fenêtre et saisissez le mot de passe pour pouvoir apporter des modifications

Redémarrez l'émulateur et cela devrait résoudre:

Captures d'écran:

  1. les fenêtres

L'émulateur Android ne se connecte pas à la solution Internet sous Windows

  1. Mac

L'émulateur Android ne se connecte pas à la solution Internet sur un Mac


Edit: C'est le correctif pour une situation où le wifi de l'émulateur a changé le DNS en un DNS non fonctionnel. Bien que cela fonctionne la plupart du temps, il peut également y avoir d'autres raisons qui peuvent ne pas être corrigées avec cette solution.

Raman Sahasi
la source
6
J'ai été extrêmement perplexe face à ce problème. Cela résout parfaitement le problème. Gloire!
Vijay Kumar Kanta
1
Merci. Je n'aurais jamais compris cela par moi-même!
pkozlowski
Rencontrez cela en utilisant les émulateurs Android 8 Oreo (AVD) sur Android Studio. soit le drapeau cli et le changement de DNS à l'échelle du système l'ont corrigé.
Thom
1
Merci! luttait avec cette erreur pendant plus de 3 jours
RL Shyam
2
Merci !!!! ça a marché pour moi, 8.8.8.8 8.8.4.4
kallayya Hiremath
92

Ma solution sous Mac OSX 10.13

J'ai lu que cela était causé par l'activation de la carte LAN et du WiFi, et certaines approches me semblaient compliquées, alors j'ai simplement essayé ceci, et cela a fonctionné:

  • WiFi désactivé sur mon ordinateur portable.
  • Éteint l'émulateur.
  • A fait un démarrage à froid sur l'émulateur (AVD Manager -> sur les actions de l'émulateur -> Cold Boot Now).
  • Après le redémarrage avec le WiFi de l'ordinateur portable désactivé, l'émulateur a montré une connexion WiFi correcte (l'émulateur affiche toujours AndroidWifi mais est connecté à Internet de mon ordinateur portable. Le symbole WiFi ressemble maintenant à ceci: Symbole WiFi connecté )
  • J'ai ensuite activé le WiFi sur mon ordinateur portable et tout a fonctionné.
Juangui Jordán
la source
Cela a fonctionné et j'ai fait un "effacement des données" avant le "démarrage à froid" et j'ai dû configurer le WiFi dans l'émulateur, il y avait une notification lors du balayage vers le bas sur l'écran d'accueil.
Manuel
2
A travaillé pour moi! Je viens de faire un démarrage à froid avec le wifi désactivé et cela a très bien fonctionné.
Hasen
A travaillé pour moi. Merci.
Michael Angelo Reyes
A travaillé comme du charme !! Merci :)
SARATH SASI
C'est la meilleure réponse.
Ahmed Mostafa
40

@TheBaj: J'ai compris le problème et je l'ai corrigé. Le problème est que lorsque vous êtes connecté via le routeur, l'androidwifi de votre émulateur utilise les paramètres et définit le DNS sur autre chose que 8.8.8.8 qui est le DNS de Google (je suppose que c'est un paramètre obligatoire pour que l'androidwifi puisse accéder à Internet. accès). Mais si je change le DNS dans mes paramètres réseau, le plugin google-services qui récupère vos dépendances, en particulier celles à partir desquelles est téléchargé jcenter(), ne sera pas téléchargé et par conséquent, votre synchronisation échouera, ce qui échouera finalement votre construction.

L'astuce est donc que votre DNS google (8.8.8.8) est configuré dans vos paramètres réseau après les paramètres de votre routeur par défaut - cette partie se charge du téléchargement des dépendances à partir de jcenter()et la synchronisation et la construction réussissent.

Maintenant, lancez votre émulateur avec la emulator @Nexus_5X_API_27 -dns-server 8.8.8.8commande du terminal qui oblige l'émulateur à utiliser 8.8.8.8 comme DNS et l'émulateur aura Internet.

Je travaille sur une application native de réaction, donc pour moi, le studio Android est inutile et j'ai configuré mon bashrc pour lancer les différents émulateurs comme suit,

   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
   }

Donc, à partir d'un terminal, je lance l'émulateur de mon choix, puis exécutez la compilation sur un autre terminal qui exécute mon application sur l'émulateur lancé et MON ÉMULATEUR FREAKING A UN ACCÈS INTERNET. :)

Essayez ceci et j'espère que cela vous aidera.

Merci, Vikram

Vikram Mahishi
la source
Merci, ça marche maintenant. J'ai passé toute la journée à ça: /
TheBaj
«émulateur» n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.
Bhupesh
@Bhupesh voyez %HOME%\AppData\Local\Android\Sdk\emulator- c'est là que je l'ai trouvé.
t3chb0t
9

J'avais le même problème et en suivant les étapes ci-dessous, je l'ai résolu.

Pas:

  1. Accédez aux paramètres de l'émulateur
  2. Sélectionnez l'onglet Proxy
  3. Cochez ensuite l'option "Utiliser les paramètres de proxy HTTP d'Android Studio"
  4. Cliquez sur Appliquer

Praneeth
la source
C'est la seule réponse qui a fonctionné pour moi, merci!
Arià
6

J'ai résolu avec google dns sur l'adaptateur réseau 8.8.8.8et8.8.4.4

Android Emulator WiFi connecté sans solution Internet pour Windows

Marcus J.Kennedy
la source
J'espère que cela est signalé comme un bogue quelque part, car cela a également pris du temps pour moi.
Renetik le
5

Effacez les données en cliquant avec le bouton droit sur la liste des appareils virtuels et le démarrage à froid fonctionne pour moi.

indrakula
la source
4

Eh bien, je l'ai fait de cette façon:

Étapes pour ajouter un proxy manuel:

  1. Accédez aux paramètres de l'émulateur
  2. Aller à l' onglet Proxy
  3. Définir la configuration manuelle du proxy
  4. Ajoutez votre nom d'hôte et votre numéro de port
  5. Cliquez sur Apply

Capture d'écran de référence:

entrez la description de l'image ici

J'espère que cela aide.

Hiren Patel
la source
4

Pour moi, cela a aidé: sur Mac OSX (Catalina pour moi), le problème est causé par le fait que l'émulateur détecte automatiquement le nameserveren regardant /etc/resolv.confet en choisissant le premier, dans mon cas, une adresse IPv6. La source

Modifiez simplement le fichier ( $ sudo vi /etc/resolv.conf) et déplacez l'adresse IPv4 ( 192.168.1.1dans mon cas) pour être la première, avant les adresses IPv6.

Sérieusement, c'était ça. Par Demetrios Christopher

Kharchenko Igor
la source
Merci d'avoir pris le temps de contribuer une réponse.! Pouvez-vous: - 1) modifier votre réponse afin que la réponse en détail. 2) Expliquez ce que vous essayez d'accomplir avec cette réponse et ce que vous voulez dire.? Voir Comment rédiger une bonne réponse dans le Centre d'aide pour plus d'informations (Comment demander: stackoverflow.com/help/how-to-answer )
Paresh Mangukiya
3

Peut-être que cela aiderait quelqu'un. J'ai essayé toutes les solutions ci-dessus. Changement de DNS, démarrage à froid, etc. Après plusieurs heures d'essais et d'erreurs, je suis allé à la documentation officielle, qui disait que l'émulateur récupère la configuration DNS. de la machine hôte au moment du démarrage de l'émulateur. J'ai installé VMWare sur ma machine, qui installe quelques adaptateurs réseau. Donc, je viens de changer la configuration DNS. de tous les adaptateurs (y compris les adaptateurs VMWare), et a démarré à froid mon émulateur. OMG, le problème qui n'a pas semblé disparaître pendant des heures, a raison!

Maintenant, ce que je trouve étrange, c'est que j'ai changé la configuration DNS. de tous les adaptateurs à auto, et redémarré à froid mon émulateur. Le WiFi fonctionne toujours très bien. Système d'exploitation: Windows 10.

Shesha Vishnu Prasad
la source
J'avais juste besoin de démarrer à froid l'émulateur
KvdLingen
3

100% fonctionnant sous Windows 10

Android AVD est livré avec Google DSN configuré à l'intérieur des émulateurs. Nous devons donc définir la même chose pour le partage réseau pour y accéder.

Adresses IP du DNS public de Google Les adresses IP du DNS public de Google (IPv4) sont les suivantes:

8.8.8.8

8.8.4.4

Les adresses IPv6 du DNS public Google sont les suivantes:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Vous pouvez utiliser l'une ou l'autre adresse comme serveur DNS principal ou secondaire.

Plus d'informations

Ici, je montre pour définir les étapes IP v4

  1. Ouvrir le centre de réseau et de partage
  2. Cliquez avec le bouton droit sur la connexion Internet actuelle
  3. Sélectionnez Propriétés
  4. Double-cliquez sur Internet Protocol Version 4 (TCP / IPv4)
  5. Sélectionnez Utiliser l'adresse de serveur DNS suivante
  6. Définir le serveur DNS préféré et alternatif
  7. Serveur DNS préféré: 8.8.8.8
  8. Serveur DNS alternatif: 8.8.4.4
  9. Cliquez sur OK
  10. Redémarrez Android AVD

Remarque: si le VPN est activé, il ne fonctionnera pas.Vous devez déconnecter votre VPN

Plus d'informations sur Google DSN

Vinayak
la source
1
Malheureusement, nous avons besoin d'un VPN lorsque WFH. Je ne peux pas croire que Google ait laissé ce problème depuis de nombreuses années.
You-Liang Shih
3

Sur Mac OSX (Catalina pour moi), le problème est causé par le fait que l'émulateur récupère automatiquement le serveur de noms en regardant /etc/resolv.conf et en choisissant le premier, dans mon cas une adresse IPv6. Source: https://developer.android.com/studio/run/emulator-networking#dns

Modifiez simplement le fichier (sudo vi /etc/resolv.conf) et déplacez l'adresse IPv4 (192.168.1.1 dans mon cas) pour qu'elle soit la première, avant les adresses IPv6. Sérieusement, c'était ça.

Démétrios Christopher
la source
1
Wow, incroyable mais cela a fonctionné pour moi, merci.
Jhegs
3

Sur macOS:

  1. Ouvrez le réseau dans les préférences système .
  2. Sélectionnez votre réseau actuel du côté gauche puis cliquez sur Avancé ... .
  3. Changez Configurer IPv6 (sous l' onglet TCP / IP ) de Automatiquement à Lien local uniquement .
  4. Redémarrez votre émulateur.
Vincent Sit
la source
2

Sous Windows:

Après avoir testé quelques solutions, j'ai trouvé la mienne en cliquant sur la flèche vers le bas de l'AVD, option "Cold Boot Now". après le démarrage, Android avait accès à Internet, donc cela a fonctionné pour moi.

Hamid Shoja
la source
2

Solution pour Windows:

  1. Accédez à l'emplacement de votre SDK Android, par exemple: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator .
  2. Ouvrez l'invite de commande au même endroit. Ecrire cette commande: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Voici Nexus_4_API_29le nom de votre appareil émulateur (vous pouvez le trouver dans la liste des appareils depuis Android Studio -> AVD Manager). Cette commande exécutera votre appareil spécifié et le WIFI sera connecté à Internet.

J'espère que cela t'aides.

Shehzad Osama
la source
0

Ce qui a fonctionné pour moi:

  • Éteignez l'émulateur (à l'aide de sa touche d'alimentation)
  • Démarrez votre application sur UN AUTRE émulateur, puis fermez-la.
  • Maintenant, redémarrez votre application dans l'émulateur précédent.
M. Usman Khan
la source
0

Si le spot wifi a changé, redémarrez simplement l'émulateur pour que l'émulateur actualise les paramètres réseau à partir du service DHCP.

MiguelSlv
la source
0

La réinitialisation des paramètres réseau sur l'émulateur Android résout ce problème.

MachineBreaker
la source
0

Un simple démarrage à froid a fonctionné pour moi, pas besoin de démarrer d'autres émulateurs ou d'effacer la mémoire.

Fermez simplement votre émulateur et sélectionnez l'option "Cold Boot Now" dans le menu déroulant adjacent au bouton de lecture. Sinon, recherchez l'une des options les plus complètes répertoriées ici, mais je suggère de toujours commencer par la solution la plus simple.

Bonne chance!

Eduardo A del Corral Lira
la source
0

Essayez peut-être d'utiliser le LAN si disponible. Cela fonctionne comme un charme pour moi ...

Senthil kumar Moorthy
la source
0

Pour les nouveaux utilisateurs de recherche: Parfois, le VPN est votre solution La modification des paramètres réseau n'est pas toujours possible en raison de problèmes de réseau. Si vous êtes dans des adresses IP auxquelles Google ne répond pas pour ces régions, votre solution utilise vpn.Utilisez un vpn approprié (un vpn qui vous permet de mettre à jour votre studio Android) .Lorsque votre vpn est allumé, démarrez votre appareil avd ( Bien sûr, le niveau de l'API de votre émulateur est important par exemple, je n'ai aucun problème avec l'API 22 mais pour l'API 28, il faut utiliser VPN!) C'était mon expérience sur l'émulateur Android Internet.

maniaq
la source
0

Modifiez l'emplacement de l'émulateur et définissez-le sur votre emplacement actuel.

  • Pas : -

    1. Cliquez sur Plus dans les options de l'émulateur
    2. Aller à l'emplacement
    3. Recherchez votre adresse et cliquez sur SET LOCATION
Gagan Raghunath
la source