Résolution des problèmes de l’émulateur Android
Cet article décrit les problèmes et les messages d’avertissement les plus courants qui se produisent durant la configuration et l’exécution de l’émulateur Android. En outre, il décrit des solutions pour résoudre ces erreurs et divers conseils de dépannage pour vous aider à diagnostiquer les problèmes de l’émulateur. Pour plus d’informations, consultez Résoudre les problèmes connus liés à l’émulateur Android sur developer.android.com.
Problèmes de déploiement sur Windows
L’émulateur peut afficher certains messages d’erreur quand vous déployez votre application. Les erreurs et les solutions les plus courantes sont expliquées ici.
Erreurs de déploiement
Si vous voyez s’afficher un message d’erreur indiquant l’échec de l’installation de l’APK sur l’émulateur ou l’échec de l’exécution d’adb (Android Debug Bridge), vérifiez que le kit Android SDK peut se connecter à votre émulateur. Pour vérifier la connectivité de l’émulateur, effectuez les étapes suivantes :
Lancez l’émulateur à partir de l’Gestionnaire de périphériques Android (sélectionnez votre appareil virtuel et sélectionnez Démarrer).
Ouvrez une invite de commandes et accédez au dossier d’installation d’adb. Si le SDK Android est installé à son emplacement par défaut, adb se trouve à C :\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe ; si ce n’est pas le cas, modifiez ce chemin d’accès pour l’emplacement du Kit de développement logiciel (SDK) Android sur votre ordinateur.
Tapez la commande suivante :
adb devices
Si l’émulateur est accessible à partir du kit Android SDK, l’émulateur doit apparaître dans la liste des appareils connectés. Par exemple :
List of devices attached emulator-5554 device
Si l’émulateur n’apparaît pas dans cette liste, démarrez le Gestionnaire du Kit de développement logiciel (SDK) Android, appliquez toutes les mises à jour, puis réessayez de lancer l’émulateur.
Erreur d’accès MMIO
Si vous voyez s’afficher un message indiquant qu’une erreur d’accès MMIO s’est produite, redémarrez l’émulateur.
Google Play Services manquant
Si l’appareil Android émulé n’a pas installé Google Play Services ou Google Play Store, vous avez probablement créé un appareil virtuel qui exclut ces packages. Lorsque vous créez un appareil virtuel, veillez à sélectionner une ou les deux options suivantes :
- API Google : inclut les services Google Play dans l’appareil virtuel.
- Google Play Store inclut Google Play Store dans l’appareil virtuel.
Par exemple, cet appareil virtuel inclut Google Play Services et Google Play Store :
Remarque
Les images Google Play Store sont disponibles uniquement pour certains types d’appareil de base tels que Pixel, Pixel 2, Nexus 5 et Nexus 5X.
Problèmes de performance
Les problèmes de performances sont généralement causés par l’un des facteurs suivants :
- L’émulateur s’exécute sans accélération matérielle
- Appareil virtuel en cours d’exécution dans l’émulateur à l’aide d’une image arm.
Les sections suivantes décrivent ces scénarios de façon plus détaillée.
L’accélération matérielle n’est pas activée
Lorsque vous démarrez un appareil virtuel et que l’accélération matérielle n’est pas activée, l’Gestionnaire de périphériques affiche une boîte de dialogue d’erreur similaire à l’image suivante :
Pour résoudre cette erreur, suivez les étapes de résolution des problèmes dans la section Problèmes d’accélération matérielle.
Problèmes d’accélération matérielle
Lorsque vous utilisez l’accélération matérielle, vous pouvez rencontrer des problèmes de configuration ou des conflits avec d’autres logiciels sur votre ordinateur. La première étape de la résolution des problèmes consiste à vérifier que l’accélération matérielle est activée. Vous pouvez utiliser le Kit de développement logiciel (SDK) Android pour case activée ce paramètre. Ouvrez une invite de commandes et entrez la commande suivante :
"C:\Program Files (x86)\Android\android-sdk\emulator\emulator-check.exe" accel
Cette commande suppose que le Kit de développement logiciel (SDK) Android est installé à l’emplacement par défaut de C :\Program Files (x86)\Android\android-sdk. Si le Kit de développement logiciel (SDK) Android est installé ailleurs, modifiez la commande précédente à l’emplacement approprié.
Conseil
Vérifiez que l’émulateur Android est à jour. À partir de Visual Studio, appuyez sur Outils>Android>Sdk Manager. Sélectionnez l’onglet Outils et vérifiez si l’entrée de l’émulateur Android a une mise à jour disponible.
Paramètres du BIOS incorrects
Si le BIOS n’a pas été configuré correctement pour prendre en charge l’accélération matérielle, un message similaire à l’exemple suivant s’affiche lorsque vous exécutez la commande émulateur-case activée.exe accel :
VT feature disabled in BIOS/UEFI
Pour corriger ce problème, redémarrez le BIOS de l’ordinateur et activez les options suivantes :
- Technologie de virtualisation (peut avoir une autre appellation selon le fabricant de la carte mère).
- Prévention de l’exécution des données matérielle.
Si des problèmes se produisent toujours en raison de problèmes liés à Hyper-V, consultez la section suivante.
Problèmes liés à Hyper-V
Dans certains cas, l’activation d’Hyper-V et de la Plateforme d’hyperviseur Windows dans la boîte de dialogue Activer ou désactiver des fonctionnalités Windows peut poser des problèmes pour Hyper-V. Pour vérifier si Hyper-V est activé, effectuez les étapes suivantes :
Entrez PowerShell dans la zone de recherche Windows.
Cliquez avec le bouton droit sur Windows PowerShell dans les résultats de la recherche, puis sélectionnez Exécuter en tant qu’administrateur.
Dans la console PowerShell, entrez la commande suivante :
Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
Si Hyper-V n’est pas activé, un message similaire à l’exemple suivant s’affiche pour indiquer que l’état d’Hyper-V est désactivé :
FeatureName : Microsoft-Hyper-V-All DisplayName : Hyper-V Description : Provides services and management tools for creating and running virtual machines and their resources. RestartRequired : Possible State : Disabled CustomProperties :
Dans la console PowerShell, entrez la commande suivante :
Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
Si l’hyperviseur n’est pas activé, un message similaire à l’exemple suivant s’affiche pour indiquer que l’état d’HypervisorPlatform est désactivé :
FeatureName : HypervisorPlatform DisplayName : Windows Hypervisor Platform Description : Enables virtualization software to run on the Windows hypervisor RestartRequired : Possible State : Disabled CustomProperties :
Si Hyper-V ou HypervisorPlatform ne sont pas activés, utilisez les commandes PowerShell suivantes pour les activer :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All
Une fois ces commandes exécutées, redémarrez.
Pour plus d’informations sur l’activation d’Hyper-V (notamment sur les techniques permettant d’activer Hyper-V à l’aide de l’outil Gestion et maintenance des images de déploiement), consultez Installer Hyper-V.
Plus de conseils de dépannage
Les suggestions suivantes sont souvent utiles pour diagnostiquer les problèmes d’émulateur Android.
Démarrage de l’émulateur à partir de la ligne de commande
Si l’émulateur n’est pas déjà en cours d’exécution, vous pouvez le démarrer à partir de la ligne de commande (plutôt qu’à partir de Visual Studio) pour afficher sa sortie. En règle générale, les images AVD de l’émulateur Android sont stockées à l’emplacement suivant : %userprofile%\.android\avd.
Vous pouvez lancer l’émulateur avec une image AVD à partir de cet emplacement en passant le nom de dossier de l’AVD. Par exemple, cette commande permet de lancer un fichier AVD nommé Pixel_API_27 :
"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe" -partition-size 2000 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd pixel_5_-_api_30 -prop monodroid.avdname=pixel_5_-_api_30
Cette commande suppose que le Kit de développement logiciel (SDK) Android est installé à l’emplacement par défaut de C :\Program Files (x86)\Android\android-sdk. Si le Kit de développement logiciel (SDK) Android est installé ailleurs, modifiez la commande précédente à l’emplacement approprié.
Affichage des journaux de Device Manager
Bien souvent, vous pouvez diagnostiquer les problèmes d’émulateur en consultant les journaux de Device Manager. Ces journaux sont écrits à l’emplacement suivant : %userprofile%\AppData\Local\Xamarin\Logs\16.0.
Vous pouvez afficher chaque fichier DeviceManager.log à l’aide d’un éditeur de texte.