J'ai passé une journée entière à essayer différentes solutions flottantes dans SO et à 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 Nexus 5X 27 et la cible étant Android 8.1 (Google Play) et l'API P Nexus 5 et la cible étant Android 7.1.1.
Je crois qu'il devrait y avoir un moyen d'activer Internet dessus, sinon l'intérêt de fournir un accès wifi virtuel sur l'émulateur semble être un gâchis.
Je suis sur 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'avoir installé le dernier Pixel 2 avec Oreo Android 8.1
Rien ne semble fonctionner. Quelqu'un at-il fait face à 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 point d'accès wifi, l'émulateur dispose d'une connexion Internet par wifi, mais il échoue lorsque je connecte mon ordinateur à mon routeur domestique.
@TheBaj: J'ai résolu le problème et je l'ai corrigé. Le problème, c’est que lorsque vous êtes connecté via le routeur, l’androïdewifi 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 présume que ce réglage est un peu obligatoire pour l’androidewifi pour 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 qui sont téléchargées à partir de jcenter()
ne seront pas téléchargées et, par conséquent, votre synchronisation échouera, ce qui finira par faire échouer votre construction.
Le truc est donc que votre DNS Google (8.8.8.8) est configuré dans vos paramètres réseau après les paramètres par défaut de votre routeur. Cette partie prend en charge le téléchargement des dépendances à partir de jcenter()
, ainsi que la synchronisation et la construction.
Lancez maintenant votre émulateur avec la commande emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
du terminal, ce qui oblige l’émulateur à utiliser 8.8.8.8 comme son DNS et que l’émulateur dispose d’Internet.
Je travaille sur une application native pour réagir, donc pour moi Android studio n'est pas nécessaire et j'ai configuré mon système 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écute la construction sur un autre terminal qui exécute mon application sur l'émulateur lancé et MY FREAKING EMULATOR A INTERNET ACCESS. :)
Essayez ceci et j'espère que cela aide.
Merci, Vikram
Vous trouverez ci-dessous les solutions pour Windows et Mac, mais des solutions similaires fonctionneront avec tous les systèmes d’exploitation:
Sous Windows
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
Sur Mac
Supprimez toutes les entrées que vous avez là et ajoutez ces deux entrées (Capture d'écran ci-dessous):
8.8.8.8
8.8.4.4
Remarque: pour les utilisateurs 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 partie inférieure de la fenêtre et entrez le mot de passe pour pouvoir le modifier. faire des changements
Redémarrez l'émulateur, et cela devrait résoudre:
Captures d'écran:
Modifier: il s'agit du correctif dans les cas où le wifi de l'émulateur a modifié le DNS en un autre paramètre que 8.8.8.8. Bien que cela fonctionne la plupart du temps, il peut également y avoir d'autres raisons que cette solution ne permet pas de résoudre.
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 semblaient compliquées pour moi, alors j'ai simplement essayé, et cela a fonctionné:
Sous Windows:
Après avoir testé certaines solutions, j'ai trouvé la vôtre 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 fonctionnait pour moi.
Ce qui a fonctionné pour moi: