L'émulateur opère de manière optimale s'il peut utiliser le matériel de votre ordinateur, tel que le processeur, le GPU et le modem, au lieu de fonctionner comme un logiciel pur. L'utilisation du matériel sous-jacent afin d'améliorer les performances est ce que l'on appelle l'accélération matérielle.
L'émulateur exploite l'accélération matérielle pour optimiser votre expérience de deux manières :
- L'accélération graphique pour améliorer le rendu à l'écran
- L'accélération de la machine virtuelle (VM) pour augmenter la vitesse d'exécution
L'accélération matérielle est activée par défaut sur la plupart des ordinateurs. Si elle ne l'est pas sur le vôtre, cette page décrit comment configurer l'accélération graphique et l'accélération de la machine virtuelle (VM) afin de démultiplier les performances de l'émulateur.
Configurer l'accélération graphique
Les appareils Android utilisent les API OpenGL for Embedded Systems (OpenGL ES ou GLES) et Vulkan pour le rendu des graphismes à l'écran. L'accélération graphique permet d'utiliser le matériel de votre ordinateur (généralement le GPU) pour accélérer le rendu. Bien que l'accélération matérielle soit recommandée pour les performances, vous devrez peut-être utiliser le mode logiciel si votre ordinateur n'est pas compatible en raison de la prise en charge des pilotes graphiques ou des exigences concernant l'image système manquante.
Lorsque vous créez un appareil virtuel Android (AVD) dans AVD Manager, vous pouvez spécifier si l'émulateur doit utiliser le rendu matériel ou logiciel. En mode automatique, l'émulateur choisit d'utiliser l'accélération graphique matérielle ou logicielle en fonction de votre ordinateur. Vous pouvez également remplacer le paramètre si vous démarrez l'émulateur à partir de la ligne de commande.
Configurer l'accélération graphique dans AVD Manager
Pour configurer l'accélération graphique d'un AVD, procédez comme suit :
- Ouvrez le Gestionnaire d'appareils.
- Créez un AVD ou modifiez-en un.
- Dans la fenêtre Configuration, recherchez la section Emulated Performance (Performances émulées) dans l'onglet Additional Settings (Paramètres supplémentaires).
- Sélectionnez une valeur pour l'option Accélération graphique.
- Cliquez sur Terminer.
Configurer l'accélération graphique à partir de la ligne de commande
Pour spécifier un type d'accélération graphique lorsque vous exécutez un AVD à partir de la ligne de commande, incluez l'option -gpu
, comme illustré dans l'exemple suivant :
emulator -avd avd_name -gpu mode [{-option [value]} ... ]
La valeur de mode
peut être définie sur l'une des options suivantes :
auto
: laissez l'émulateur choisir entre l'accélération graphique matérielle ou logicielle, en fonction de l'AVD, de la configuration de l'ordinateur et des métriques de qualité.host
: utilisez le GPU de votre ordinateur pour l'accélération matérielle. Cette option offre généralement la meilleure qualité graphique et les meilleures performances pour l'émulateur. Elle peut également activer MoltenVK sur macOS pour un rendu Vulkan accéléré. Toutefois, si vous rencontrez des problèmes avec l'émulation graphique, vous devrez peut-être passer au rendu logiciel.swiftshader_indirect
: utilisez une variante de SwiftShader compatible avec Quick Boot pour afficher les graphiques à l'aide de l'accélération logicielle. Cette option est une bonne alternative au modehost
si votre ordinateur ne peut pas utiliser l'accélération matérielle.
Les options mode
suivantes sont obsolètes :
swiftshader
: obsolète depuis la version 27.0.2. Utilisez plutôtswiftshader_indirect
.angle
: obsolète depuis la version 27.0.2. Utilisezswiftshader_indirect
à la place.mesa
: obsolète depuis la version 25.3. Utilisezswiftshader_indirect
à la place.guest
: obsolète pour les niveaux d'API 28 et ultérieurs. Utilisez plutôtswiftshader_indirect
.angle_indirect
: obsolète depuis la version 34.2.14. Utilisez plutôtswiftshader_indirect
.
Configurer l'accélération de la VM
L'accélération de la VM exploite le processeur de votre ordinateur pour améliorer considérablement la vitesse d'exécution de l'émulateur. Un outil appelé hyperviseur gère cette interaction à l'aide d'extensions de virtualisation fournies par ce processeur. Cette section décrit les exigences à respecter pour utiliser l'accélération de VM et explique comment configurer l'accélération de VM sur chaque système d'exploitation.
Exigences générales
Pour utiliser l'accélération de la VM avec l'émulateur, votre ordinateur doit respecter les exigences générales décrites dans cette section. Votre ordinateur doit également répondre à d'autres conditions spécifiques à votre système d'exploitation.
Exigences concernant l'environnement de développement
Pour que vous puissiez utiliser l'accélération de la VM, votre environnement de développement doit disposer de la configuration suivante :
- SDK Tools : version 17 au minimum ; version 26.1.1 ou ultérieure recommandée
AVD : la version d'Android requise est décrite dans le tableau suivant.
Architecture de processeur Exigences relatives aux images système X86_64 Images système x86 ou x86_64 pour Android 2.3.3 (niveau d'API 10) ou version ultérieure ARM64 Images système arm64-v8a pour Android 5.0 (niveau d'API 21) ou version ultérieure
Exigences concernant les extensions de virtualisation
En plus des exigences liées à l'environnement de développement, le processeur de votre ordinateur doit être compatible avec les extensions de virtualisation. Les processeurs pris en charge sont les suivants :
- Processeurs Intel avec Intel Virtualization Technology (VT-x, vmx), tels que les processeurs Intel Core iX et Intel Core Ultra
- Processeurs AMD avec AMD-V (SVM), tels que les processeurs AMD Ryzen
- Puce Apple
Exigences supplémentaires liées aux processeurs Intel et AMD :
La traduction d'adresse de deuxième niveau (Intel EPT ou AMD RVI) est requise pour les processeurs Intel et AMD. La plupart des processeurs Intel et AMD modernes prennent en charge la traduction d'adresse de deuxième niveau. Seuls les processeurs Intel ou AMD de première génération proposant des extensions de virtualisation n'offrent pas toujours une traduction de page de deuxième niveau.
Si vous avez un doute sur la compatibilité de votre processeur avec les extensions requises, consultez les caractéristiques spécifiques au processeur sur le site du fabricant. S'il n'est pas compatible avec ces extensions, vous ne pouvez pas utiliser l'accélération de la VM.
Restrictions
L'accélération de la VM présente les restrictions suivantes :
- Vous ne pouvez pas exécuter un émulateur accéléré par une VM dans une autre VM, telle qu'une VM hébergée par VirtualBox, VMWare ou Docker. Un émulateur accéléré par VM doit être exécuté directement sur l'ordinateur hôte.
- Selon votre système d'exploitation et votre hyperviseur, vous ne pouvez pas toujours exécuter de logiciel qui utilise une autre technologie de virtualisation en même temps que l'émulateur accéléré par une VM. Ces logiciels incluent, entre autres, des solutions de machine virtuelle, certains programmes antivirus et quelques solutions anti-triche. Cette situation est principalement observée sous Windows lorsque Hyper-V est désactivé. La plupart de ces logiciels peuvent coexister avec Android Emulator sans problème. Cependant, en cas de conflits, nous vous recommandons de ne pas exécuter l'émulateur accéléré par VM avec ces logiciels.
À propos des hyperviseurs
L'accélération de la VM nécessite un hyperviseur. Il s'agit d'un outil qui utilise les extensions de virtualisation fournies par le processeur de votre ordinateur.
En l'absence d'hyperviseur et d'accélération de la VM, l'émulateur doit convertir le code machine du bloc de la VM, bloc par bloc, pour se conformer à l'architecture de l'ordinateur hôte. Ce processus peut être lent. Avec un hyperviseur, lorsque la VM et l'architecture de l'ordinateur hôte correspondent, l'émulateur peut exécuter le code directement sur le processeur hôte à l'aide de l'hyperviseur. Cette amélioration augmente considérablement la vitesse et les performances de l'émulateur.
L'hyperviseur qui vous convient le mieux dépend du système d'exploitation et de la configuration de votre ordinateur. Pour en savoir plus, consultez l'une des sections suivantes :
- Configurer l'accélération de la VM sous Windows
- Configurer l'accélération de la VM sous macOS
- Configurer l'accélération de la VM sous Linux
Vérifier si un hyperviseur est installé
L'option de ligne de commande -accel-check
de l'émulateur vous permet de vérifier si un hyperviseur est installé sur votre ordinateur.
Les exemples suivants montrent comment utiliser l'option accel-check
de l'émulateur. Dans chaque exemple, Sdk
correspond à l'emplacement du SDK Android :
Windows :
c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check accel: 0 WHPX(10.0.22631) is installed and usable. accel
macOS :
janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
Linux :
janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
Configurer l'accélération de la VM sous Windows
L'accélération de la VM sous Windows peut utiliser l'un de ces deux hyperviseurs :
- Windows Hypervisor Platform (WHPX)
- Android Emulator Hypervisor Driver (AEHD)
La plate-forme de l'hyperviseur Windows utilise l'hyperviseur Hyper-V fourni par Windows et offre la meilleure compatibilité avec une instabilité réduite. Si possible, utilisez WHPX.
Si votre système n'est pas compatible avec WHPX ou si vous avez d'autres questions concernant son utilisation, vous pouvez utiliser Android Emulator Hypervisor Driver.
Configurer l'accélération de la VM à l'aide de Windows Hypervisor Platform
Pour que vous puissiez activer WHPX, votre ordinateur doit disposer de la configuration suivante :
- Processeurs Intel : prise en charge de la technologie de virtualisation (VT-x), d'EPT (Extended Page Tables) et des fonctionnalités d'invité sans restriction (UG). VT-x doit être activé dans les paramètres BIOS de votre ordinateur.
- Processeurs AMD : utilisation recommandée d'un processeur AMD Ryzen. La virtualisation ou la technologie SVM doit être activée dans les paramètres BIOS de votre ordinateur.
- Android Studio 3.2 bêta 1 ou version ultérieure
- Android Emulator 27.3.8 ou version ultérieure
- Windows 10 ou version ultérieure
Pour installer WHPX sous Windows, procédez comme suit :
- Sur le bureau Windows, cliquez sur l'icône Windows pour ouvrir le menu Démarrer.
Dans la barre de recherche, saisissez Activer ou désactiver les fonctionnalités Windows.
Le panneau de configuration Activer ou désactiver les fonctionnalités Windows doit s'afficher et être sélectionné.
Appuyez sur la touche Entrée ou cliquez sur Activer ou désactiver des fonctionnalités Windows pour lancer le panneau de configuration.
Cochez la case Plate-forme de l'hyperviseur Windows.
Cliquez sur OK.
Une fois l'installation terminée, redémarrez votre ordinateur.
Configurer l'accélération de la VM à l'aide d'Android Emulator Hypervisor Driver (AEHD) sous Windows
Pour que vous puissiez installer et utiliser Android Emulator Hypervisor Driver pour les processeurs AMD, votre ordinateur doit disposer de la configuration suivante :
- Processeurs Intel ou AMD avec extension de virtualisation
Windows 11 ou Windows 10 64 bits (la version Windows 32 bits n'est pas compatible)
Les utilisateurs de Windows 8.1, Windows 8 et Windows 7 peuvent continuer à utiliser AEHD 1.7 ou une version antérieure. Toutefois, aucune assistance ne sera fournie pour ces scénarios.
Les fonctionnalités qui utilisent également l'hyperviseur Windows Hyper-V doivent être désactivées dans la boîte de dialogue "Fonctionnalités Windows".
Certains composants Windows activent et utilisent également l'hyperviseur Windows Hyper-V, même lorsque la plate-forme de l'hyperviseur Windows n'est pas sélectionnée dans la boîte de dialogue "Fonctionnalités Windows". Il s'agit, entre autres, de fonctionnalités de sécurité telles que Hyper-V, l'isolation du noyau, etc. (Notez que la fonctionnalité Hyper-V n'est PAS la même que l'hyperviseur Hyper-V.) Si vous avez besoin de ces fonctionnalités, utilisez plutôt WHPX.
Sur les processeurs AMD, Android Emulator Hypervisor Driver peut être installé via SDK Manager dans Android Studio 4.0 Canary 5 ou version ultérieure.
Sur les processeurs Intel, Android Emulator Hypervisor Driver permet d'installer le pilote via SDK Manager dans Android Studio Flamingo ou version ultérieure.
Pour effectuer l'installation à partir de SDK Manager, procédez comme suit :
- Sélectionnez Tools > SDK Manager (Outils > SDK Manager).
- Cliquez sur l'onglet SDK Tools, puis sélectionnez Android Emulator Hypervisor Driver.
- Cliquez sur OK pour télécharger et installer Android Emulator Hypervisor Driver.
Après l'installation, vérifiez que le pilote fonctionne correctement en exécutant la commande suivante :
AEHD 2.1 ou version ultérieure
sc query aehd
Un message d'état inclut les informations suivantes :
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
Le message d'erreur suivant signifie que l'extension de virtualisation n'est pas activée dans le BIOS ou que la fonctionnalité Hyper-V n'est pas désactivée :
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 ou version antérieure
sc query gvm
Un message d'état inclut les informations suivantes :
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
Le message d'erreur suivant signifie que l'extension de virtualisation n'est pas activée dans le BIOS ou que la fonctionnalité Hyper-V n'est pas désactivée :
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
Vous pouvez également télécharger et installer Android Emulator Hypervisor Driver à partir de GitHub.
Après avoir décompressé le package du pilote, exécutez silent_install.bat
sur une ligne de commande avec des droits d'administrateur.
Pour désinstaller Android Emulator Hypervisor Driver, exécutez les commandes suivantes sur une ligne de commande lorsque vous disposez des droits d'administrateur :
AEHD 2.1 ou version ultérieure
sc stop aehd
sc delete aehd
AEHD 2.0 ou version antérieure
sc stop gvm
sc delete gvm
Configurer l'accélération de la VM sous macOS
Sous macOS, Android Emulator utilise l'intégration Hypervisor.Framework, qui nécessite macOS v10.10 (Yosemite) ou une version ultérieure. Toutefois, Android Studio peut nécessiter une version plus récente de macOS. Dans ce cas, respectez la configuration système requise pour Android Studio.
Configurer l'accélération de la VM sous Linux
Les systèmes Linux permettent l'accélération de la VM via le package logiciel KVM. Suivez les instructions d'installation de KVM sur un système Linux, puis vérifiez que KVM est activé. Pour les systèmes Ubuntu, découvrez comment installer le package KVM Ubuntu.
Conditions requises
L'exécution de KVM nécessite des autorisations utilisateur spécifiques. Assurez-vous de disposer des autorisations suffisantes, comme spécifié dans les instructions d'installation de KVM.
Pour que vous puissiez utiliser l'accélération de la VM sur Linux, votre ordinateur doit disposer de la configuration suivante :
- Pour les processeurs Intel : technologie de virtualisation (VT-x), fonctionnalités Intel EM64T (Intel 64) et fonctionnalité Execute Disable (XD) Bit activées
- Pour les processeurs AMD : prise en charge d'AMD Virtualization (AMD-V)
Vérifier si KVM est installé sous Linux
Vous pouvez vérifier si KVM est installé à l'aide de l'option de ligne de commande -accel-check
de l'émulateur. Vous pouvez également installer le package cpu-checker
contenant la commande kvm-ok
.
L'exemple suivant montre comment utiliser la commande kvm-ok
:
Installez le package
cpu-checker
:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
Un résultat supérieur ou égal à 1 signifie que la virtualisation est prise en charge. Un résultat égal à zéro signifie que votre processeur n'est pas compatible avec la virtualisation matérielle.
Exécutez la commande
kvm-ok
:sudo kvm-ok
Sortie attendue :
INFO: /dev/kvm exists KVM acceleration can be used
Si vous obtenez l'erreur suivante, vous pouvez toujours exécuter des machines virtuelles. Cependant, votre machine virtuelle sera plus lente sans les extensions KVM.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
Installer KVM sous Linux
Exécutez la commande suivante pour installer KVM :
Cosmic (18.10) ou version ultérieure :
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) ou version ultérieure :
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) ou version antérieure :
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
Guide de désinstallation d'Intel HAXM
HAXM est obsolète depuis un certain temps (01/2023), car Intel cesse le développement de HAXM.
À partir de l'émulateur 36.2.x.x, Android Emulator n'utilisera plus HAXM. Si vous l'utilisiez auparavant, vous devrez installer un nouveau pilote d'hyperviseur. Nous vous recommandons d'utiliser la plate-forme de l'hyperviseur Windows (WHPX) de Microsoft.
Nous vous recommandons de supprimer complètement Intel HAXM de votre système Windows, sauf si vous avez installé d'autres logiciels qui dépendent de HAXM et que vous choisissez de conserver Intel HAXM et de le gérer vous-même.
Pour désinstaller Intel HAXM :
Vérifier si Intel HAXM est installé
Pour déterminer si Intel HAXM est installé sur votre système Windows, ouvrez une console de commande Windows et exécutez la commande suivante :
sc query intelhaxm
Si Intel HAXM est installé et en cours d'exécution, le message suivant devrait s'afficher dans le résultat de la commande :
Si Intel HAXM est installé, mais désactivé, le message suivant devrait s'afficher dans le résultat de la commande :
Dans les deux cas, Intel HAXM est installé, qu'il soit en cours d'exécution ou désactivé. Pour continuer à désinstaller Intel HAXM, vous devez passer à l'étape suivante.
Si Intel HAXM n'est pas installé, le message suivant s'affiche.
Désinstaller Intel HAXM à l'aide du SDK Manager d'Android Studio
Si vous avez déjà installé HAXM avec le SDK Manager, le module devrait toujours figurer dans l'onglet "SDK Tools" (Outils SDK).
Ouvrez le SDK Manager depuis Android Studio, accédez à l'onglet "SDK Tools" (Outils SDK), puis recherchez la ligne "Intel x86 Emulator Accelerator (HAXM installer) - Deprecated" (Accélérateur d'émulateur Intel x86 (programme d'installation HAXM) – Obsolète). Elle devrait se présenter comme suit :
Décochez la case, comme illustré dans la capture d'écran suivante.
Cliquez sur le bouton "Appliquer". La boîte de dialogue suivante devrait s'afficher.
Lorsque Intel HAXM est désinstallé, le message suivant doit s'afficher.
La désinstallation est terminée. Vous pouvez arrêter ici.
En cas d'erreur, passez à l'étape suivante.
Désinstallez Intel HAXM à l'aide des paramètres Windows.
Ouvrez les paramètres Windows et accédez à "Applications > Applications installées".
Recherchez l'entrée "Intel Hardware Accelerated Execution Manager" (Gestionnaire d'exécution accélérée matérielle Intel) et cliquez sur "Uninstall" (Désinstaller), comme illustré dans la capture d'écran suivante.
Le programme de désinstallation d'Intel HAXM devrait s'exécuter et afficher le résultat. Si la désinstallation est réussie, passez à Supprimer le package du programme d'installation Intel HAXM. Sinon, passez à l'étape suivante.
Désinstaller à l'aide de la ligne de commande
Arrêtez le service Intel HAXM en exécutant la commande "sc stop intelhaxm". Vous devriez obtenir le résultat suivant.
Supprimez le service Intel HAXM en exécutant la commande "sc delete intelhaxm". Vous devriez obtenir le résultat suivant.
Accédez à Supprimer le package d'installation Intel HAXM.
Supprimez le package du programme d'installation Intel HAXM.
Cette étape n'est requise que lorsque vous désinstallez Intel HAXM à l'aide des "paramètres" Windows ou de la ligne de commande. Sans cette étape, le gestionnaire de SDK d'Android Studio peut continuer à indiquer qu'Intel HAXM est "installé".
Le package d'installation se trouve dans <Your Android SDK folder>\extras\intel.
Par défaut, le SDK Android est installé dans "C:\Users\<Your Windows User ID
>\AppData\Local\Android\Sdk". Consultez l'exemple dans la capture d'écran suivante.