web-dev-qa-db-fra.com

L'émulateur Visual Studio Android ne démarre pas complètement

Je crée une application Cordova vierge dans Visual Studio 2015 et commence le débogage avec les émulateurs Android Visual Studio (d'abord avec Lollipop, puis KitKat). XDE démarre et l'écran affiche OS is starting.... Il reste comme ça pendant un bon moment jusqu'à ce qu'il affiche

The emulator is unable to connect to the device operating system;The device did not response to the connect request.Some functionalities might be disabled'

Après avoir fermé la boîte de dialogue, il y reste indéfiniment jusqu'à ce que je tue l'émulateur. Tuer l'émulateur provoque une erreur de Visual Studio. 

Could not start emulated device 'VS Emulator Lollipop Phone'.

Lorsque j'ouvre Hyper-v, je vois la machine virtuelle dans la liste et s'affiche comme étant en cours d'exécution. Quand je me connecte, je vois l'écran de la console comme ci-dessous 

screen

19
ritcoder

Je sais que ce problème existe depuis un certain temps maintenant, mais je viens de trouver une nouvelle solution pour les personnes qui pourraient encore rencontrer ce problème ...

J'avais le même problème (bloqué sur "OS Is Starting") pour API v 21 et 22. Les images d'API v23 allaient démarrer, mais ne pouvaient pas déboguer - l'application se plantait dès son lancement.

Le problème suivant a été résolu:

  • Arrêtez l'émulateur
  • Ouvrez le gestionnaire Hyper-V
  • Accédez aux paramètres de l'image Android.
  • Développez le noeud de configuration "Processor"
  • Aller au noeud "Compatibilité"
  • Activez l'option "Migrer vers un ordinateur physique avec une version de processeur différente".

Apparemment, cela a quelque chose à voir avec les architectures de processeur plus récentes incompatibles avec les images Android ou quelque chose comme ça - ne vous inquiétez pas vraiment, tant que cela fonctionne :)

30
Trashcoder

Je courais dans le même problème. J'ai essayé de désactiver OpenGL en supprimant: GuestDisplayProvider = "VsEmulator.OpenGLGuestDisplay" dans xdesku.xml, comme suggéré dans d'autres réponses.

Au début, la machine virtuelle démarrerait (vous pouvez vous y connecter à partir du gestionnaire Hyper-V), mais la fenêtre de l'émulateur elle-même ne se connecterait pas à la machine (bloquée sur "OS is started", puis échouant après un looooong avec le message suivant: "L'émulateur ne parvient pas à se connecter au système d'exploitation du périphérique: impossible de détecter automatiquement l'adresse IP du système invité. Certaines fonctionnalités peuvent être désactivées.")

Cette réponse https://stackoverflow.com/a/31698124/1010492 et celle-là https://stackoverflow.com/a/14402740/1010492 m'ont aidé à résoudre le problème de connectivité, et j'ai pu pour que la machine virtuelle soit affichée dans la fenêtre de l'émulateur.

Cependant, l'émulateur ne fonctionnait pas correctement (problèmes de mise à l'échelle, pas de boutons Accueil, Retour, etc.) jusqu'à ce que je rétablisse la ligne "VsEmulator.OpenGLGuestDisplay" et après avoir supprimé mes profils et redémarré plusieurs fois.

En résumé, si vous rencontrez le même problème sur un ordinateur doté de la technologie Hyper-V, vous pouvez essayer les étapes suivantes:

  1. Idéalement, désinstallez tout autre logiciel de virtualisation tel que VMWare, Virtual Box et les clients VPN tels que Cisco VPN (si vous ne le pouvez pas Faites-le, veillez à l'étape 13).
  2. Redémarrer
  3. Dans la boîte de dialogue "Visual Studio Emulator for Android", supprimez tous les profils de périphérique installés. 
  4. Supprimer tous les commutateurs virtuels Hyper-V - accédez à Hyper-V> Gestionnaire de commutateurs virtuels> Supprimer tous les commutateurs virtuels
  5. Exécutez XdeCleanup.exe (généralement dans "C:\Program Files (x86)\Microsoft XDE\10.0.10240.0")
  6. Supprimez également toutes les cartes réseau virtuelles supplémentaires laissées dans "Panneau de configuration> Réseau et Internet> Connexions réseau" (après avoir suivi les étapes précédentes , Vous ne devriez normalement disposer que de cartes physiques ).
  7. Assurez-vous que le partage réseau est désactivé sur toutes les cartes réseau (clic droit, Propriétés, Partage, décochez "Autoriser les autres utilisateurs du réseau .__ à se connecter via la connexion Internet de cet ordinateur").
  8. Si jamais vous avez supprimé la ligne GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay" dans xdesku.xml (généralement dans "C:\Program Files (x86)\Microsoft XDE\10.0.10240.0\SKUs Android"), MAINTENANT IS, C'EST UN BON MOMENT POUR METTRE EN ARRIÈRE.
  9. Redémarrer
  10. Vous voudrez peut-être essayer de réparer les émulateurs: accédez à Programmes et fonctionnalités> Microsoft Visual Studio Emulator pour Android> Modifier et cliquez sur "Réparer" (bien que je dois dire que cela échoue toujours pour moi)
  11. Redémarrer
  12. Ouvrez Visual Studio Emulator pour Android, puis installez l'un des profils (par exemple, une tablette XHDPI 7 '' KitKat (4.4) - similaire à Asus Google Nexus 7).
  13. Cela fonctionne peut-être déjà, mais sinon, vous devez vous assurer que vos cartes réseau sont correctement configurées. Arrêtez votre émulateur, puis allez à Panneau de configuration> Réseau et Internet> Connexions réseau, et droit cliquez sur les adaptateurs vEthernet, puis sur Propriétés et assurez-vous de ne conserver que cocher les cases suivantes dans la liste de mise en réseau (comme expliqué dans Interférences causées par d’autres logiciels de virtualisation ou de gestion de réseau et pilotes : Client pour réseaux Microsoft, Planificateur de paquets QoS, Fichier .__ et Partage d’imprimantes pour Microsoft Networks, Microsoft LLDP Protocol Pilote, Pilote d'E/S de mappeur de découverte de topologie de couche liaison, Couche de liaison Répondeur de découverte de topologie, protocole Internet version 6 (TCP/IPv6), Protocole Internet de version 4 ( TCP/IPv4)
  14. Redémarrer
  15. Essayez de redémarrer l'émulateur dans "Visual Studio Emulator for Android"
  16. Si cela ne fonctionne toujours pas, essayez de supprimer et de recréer les profils, ainsi que des charges de redémarrages ...

Il y a probablement des étapes redondantes ici, mais je pense que cela couvre tout ce que vous devriez essayer (la clé semble être de s'assurer que les adaptateurs réseau sont configurés correctement). Si j'ai oublié certaines choses ou si vous pensez que certaines étapes sont inutiles, veuillez commenter.

20
Gyum Fox

Après beaucoup de recherches, j'ai réussi. J'espère que cela t'aides. Je l'ai trouvé dans les commentaires sur Article MSDN pour l'émulateur Android avec Visual Studio 2015

Les nouvelles images risquent de fonctionner si vous désactivez OpenGL en accédant à Programmes (ou Programmes x86 si vous êtes sur un ordinateur 64 bits)\Microsoft XDE\10.0.0.0\SKUs\Android\xdesku.xml et en supprimant cette ligne: GuestDisplayProvider = "VsEmulator.OpenGLGuestDisplay". Cependant, sans OpenGL activé, vous ne pourrez pas tirer parti de nombreuses nouvelles fonctionnalités.

6
Niall Cunningham

J'ai parcouru les étapes de la réponse de @Gyum Fox et toujours pas de joie pour moi. 

Alors que Visual Studio Emulator pour Android crée la première instance d'émulateur, plusieurs commutateurs de réseau virtuel sont également créés. Pour un ordinateur portable, trois instances de vEthernet sont généralement créées. un pour le réseau local câblé, un pour le Wi-Fi et un autre commutateur virtuel interne pour les connexions d'invité à hôte.

Dans mon cas, le vEthernet pour le réseau local câblé a été créé avec succès, puis le processus Visual Studio Emulator pour Android est bloqué. Ceci est visible à partir de Hyper-V Manager et de Virtual Switch Manager

Utilisation du Virtual Switch Manager J'ai créé avec succès le commutateur virtuel Wi-Fi manquant avec ces étapes. En fin de compte, cela a fonctionné. Continuer à lire.

  1. Dans la liste Commutateurs virtuels , sélectionnez Nouveau commutateur de réseau virtuel…
  2. Sous Quel type de commutateur virtuel voulez-vous créer? , sélectionnez External .
  3. Dans la liste déroulante Réseau externe: , sélectionnez l'adaptateur Wi-Fi.
  4. Cliquez sur le bouton Create Virtual Switch .
  5. Changez le Nom: pour qu'il corresponde au nom de votre adaptateur Wi-Fi.
  6. Cliquez sur le bouton Appliquer .

Dans mon cas cependant, après avoir cliqué sur Apply , un message d'échec a indiqué que la carte Wi-Fi était pontée. Hmmm. 

J'ai démarré le Voir les connexions réseau applet du panneau de configuration et l'adaptateur Wi-Fi n'a pas montré qu'il était ponté. (Lorsqu'un pont de réseau existe, la colonne Status a le mot Bridged ajouté.) Je suppose qu'il y avait des fragments numériques poussiéreux qui se cachent quelque part dans le registre. 

Voici ce qui a éclairci le problème pour moi.

  1. Cliquez avec le bouton droit sur le périphérique Wi-Fi.
  2. Sélectionnez Ajouter au pont .
  3. Cliquez à nouveau avec le bouton droit sur le périphérique Wi-Fi.
  4. Sélectionnez Supprimer de Bridge .

Revenez maintenant aux étapes pour créer le commutateur virtuel pour le réseau Wi-Fi. Les étapes doivent se terminer avec succès maintenant.

Et maintenant, vous pouvez recommencer à créer les émulateurs Android de votre choix.

Une dernière pensée… Si vous ne voyez pas de commutateurs virtuels en cours de création, je suppose que cela pourrait signifier que le réseau local câblé pourrait avoir des bits numériques poussiéreux qui vous suspendent. Dans ce cas, j’essaierais d’ajouter une astuce d’ajout-suppression de pont à l’adaptateur de réseau local câblé pour voir si cela éclaircissait les choses pour vous.

Et maintenant, je suppose que le simple fait d'ajouter et de supprimer du pont à la carte l'adaptateur réseau sans créer le commutateur virtuel pourrait suffire. Pour moi, la création du commutateur virtuel était la preuve que le problème avait été corrigé. YMMV ;-)

1
Gyle Iverson

J'ai également eu ce problème et ce n'était pas seulement pour les émulateurs Android, mais pour tous les émulateurs Windows Phone. 

Voici ce que j'ai fait pour résoudre le problème 

Après cela, j'ai pu exécuter l'émulateur à partir de "Emulateurs de Visual Studio pour Android".

1
Nalan Dayarathna

Sur mon système, je me suis remis à travailler après avoir réactivé le commutateur vEthernet (commutateur interne d'émulateur interne de téléphone Windows du port Ethernet interne) désactivé .

1
Bart Vanseer

J'ai constaté que mon problème était lié au pare-feu Windows et à certaines règles d'entreprise que mon entreprise appliquait à tous les ordinateurs. Une fois que j'ai arrêté le service de pare-feu Windows, cela a très bien fonctionné.

1
Jaime Botero

Je pouvais démarrer l'émulateur sur ma machine, mais une erreur OpenGL s'est produite lors de la tentative de déploiement et de débogage. J'ai réalisé que mes problèmes avaient commencé après l'installation de Docker. Sur un coup de tête, j'ai décidé d'arrêter Docker et de désactiver la connexion réseau vEthernet (DockerNAT). Cela a résolu mon problème. Maintenant, chaque fois que je dois utiliser l'émulateur Andoird, je dois arrêter Docker. Ensuite, lorsque j'ai terminé le débogage, j'active/redémarre Docker.

0
user3469676

J'ajoute une réponse séparée, bien que les informations fournies par Gyum Fox aient fourni les indices nécessaires pour essayer d'autres produits ...

[REMARQUE: la dernière fois que j'ai pu utiliser les émulateurs (il y a environ 3 semaines), ma connexion sans fil était désactivée et j'utilisais une connexion filaire sur mon ordinateur portable Dev. L'espace disponible sur mon commutateur étant insuffisant, vous avez réactivé le sans fil en tant qu'option de connectivité unique. Cela peut être totalement une coïncidence, mais lisez et je vous laisserai décider.]

Après avoir suivi les étapes de Gyum sans succès, j'ai décidé de désactiver le sans fil, puis d'essayer de lancer l'émulateur.

Ne le sauriez-vous pas ... cela a fonctionné sans problème! 8-}

Une fois l’émulateur en marche, j’ai réactivé le sans fil et l’émulateur a détecté la connectivité.

Je ne suis pas un gars du réseau alors je ne vais même pas essayer de comprendre. C'est un PITA mineur mais bon ... si ça marche !!! ; -}

0
Sam C

Une des raisons pour lesquelles j'avais ce problème est que je n'ai pas installé le SDK Android sur l'emplacement par défaut. J'ai donc dû suivre ces instructions pour pouvoir déboguer mon application: https://msdn.Microsoft.com/en-us/library/mt228282.aspx#ADB

Je devais créer le dossier "Android SDK Tools" et ajouter la clé "Path" avec la valeur de mon SDK, qui dans mon cas était "E:\Android\Android_SDK".

0
Jonathas Sucupira