-
Objectifs du cours
- À la fin de ce cours, vous serez capable de :
- expliquer ce qu'est un émulateur Android et quand l'utiliser plutôt qu'un téléphone réel ;
- vérifier que votre ordinateur peut faire tourner un émulateur (mémoire, disque, virtualisation) ;
- activer l'accélération matérielle, indispensable pour un émulateur rapide ;
- installer les composants nécessaires avec le SDK Manager d'Android Studio ;
- créer un appareil virtuel Android (AVD) avec le Device Manager;
- lancer l'émulateur depuis Android Studio, depuis VS Code ou depuis le terminal ;
- exécuter, recharger et déboguer une application Flutter sur l'émulateur ;
- résoudre seul les problèmes les plus fréquents.
- À la fin de ce cours, vous serez capable de :
-
Description du cours
- Ce cours vous guide étape par étape, de la vérification de votre ordinateur jusqu'à l'exécution d'une application Flutter dans un émulateur piloté depuis Visual Studio Code. Chaque étape se termine par un point de contrôle: ne passez à l'étape suivante que si le résultat attendu est obtenu.
- Public visé : développeurs Flutter débutants, étudiants en développement mobile.
- Prérequis : VS Code avec les extensions Flutter et Dart, le SDK Flutter et Android Studio installés (voir les leçons précédentes du chapitre).
- Durée estimée : 2 à 3 heures, dont une partie consacrée aux téléchargements (prévoir une bonne connexion Internet).
-
Qu'est-ce qu'un émulateur Android ?
- Un émulateur est un logiciel qui imite un appareil sur votre ordinateur. L'émulateur Android fait tourner un vrai système Android dans une fenêtre : vous pouvez y installer et tester vos applications sans téléphone.
- Chaque téléphone virtuel s'appelle un AVD (Android Virtual Device). Un AVD est défini par un modèle d'appareil (taille d'écran, par exemple un Pixel) et une image système (une version d'Android).
- Émulateur ou téléphone réel ? Les deux sont complémentaires :
| Critère | Émulateur (AVD) | Téléphone réel |
|---|---|---|
| Coût | Gratuit | Il faut posséder l'appareil |
| Versions d'Android et tailles d'écran | Autant que vous voulez | Une seule |
| Ressources du PC | Gourmand en mémoire (8 Go minimum) | Très léger |
| Simulation (GPS, batterie, réseau, rotation) | Facile, depuis les contrôles étendus | Il faut se déplacer ou modifier les réglages |
| Capteurs, appareil photo, performances réelles | Approximatifs | Exacts |
À retenir : l'émulateur sert à développer et à tester rapidement ; le téléphone réel sert à valider le rendu et les performances. Si votre PC est trop faible, utilisez directement votre téléphone (voir la leçon suivante du chapitre).
-
Étape 1 : vérifier que votre ordinateur est compatible
-
1.1. Mémoire et espace disque
- Mémoire vive : 8 Go minimum, 16 Go recommandés (Android Studio, VS Code et l'émulateur tournent en même temps).
- Espace disque : prévoir au moins 15 Go libres, de préférence sur un SSD. Chaque image système pèse plusieurs Go.
-
1.2. La virtualisation est-elle activée ?
- L'émulateur a besoin de la virtualisation matérielle du processeur (Intel VT-x ou AMD-V/SVM). Pour la vérifier sous Windows :
- ouvrir le Gestionnaire des tâches (Ctrl + Maj + Échap) ;
- onglet Performances, puis Processeur;
- en bas à droite, lire la ligne Virtualisation.
- Si elle indique Désactivé, il faut l'activer dans le BIOS/UEFI : redémarrer le PC, entrer dans le BIOS (touche F2, F10, Suppr ou Échap selon la marque), puis activer Intel Virtualization Technology (VT-x) ou SVM Mode (AMD), enregistrer et redémarrer.
- L'émulateur a besoin de la virtualisation matérielle du processeur (Intel VT-x ou AMD-V/SVM). Pour la vérifier sous Windows :
-
Attention : n'essayez pas de lancer l'émulateur à l'intérieur d'une machine virtuelle (VirtualBox, VMware…) : il doit tourner directement sur votre ordinateur. Sur un poste de salle verrouillé, demandez à l'enseignant si la virtualisation est activée.
Point de contrôle 1 : le Gestionnaire des tâches affiche Virtualisation : Activé.
-
Étape 2 : activer l'accélération matérielle
- Sans accélération, l'émulateur est extrêmement lent ou refuse de démarrer. Le composant à utiliser dépend de votre système :
| Système | Accélération à utiliser | Remarque |
|---|---|---|
| Windows 10 / 11 | Windows Hypervisor Platform (WHPX) | C'est la solution recommandée par Google. |
| macOS | Intégrée au système | Rien à installer. |
| Linux | KVM | Vérifier avec sudo kvm-ok (paquet cpu-checker). |
-
2.1. Activer Windows Hypervisor Platform (Windows)
- Ouvrir le menu Démarrer et rechercher Activer ou désactiver des fonctionnalités Windows.
- Cocher Plateforme de l'hyperviseur Windows (Windows Hypervisor Platform).
- Cliquer sur OK, laisser Windows installer la fonctionnalité, puis redémarrer l'ordinateur.
Anciennes solutions à ne plus utiliser : Intel HAXM est abandonné et n'est plus utilisé par les versions récentes de l'émulateur. Le pilote AEHD (Android Emulator hypervisor driver) est encore proposé dans le SDK Manager, mais son arrêt est prévu fin 2026 : choisissez Windows Hypervisor Platform.
Point de contrôle 2 : la case Plateforme de l'hyperviseur Windows est cochée et l'ordinateur a redémarré. La vérification définitive se fera à l'étape 4 avec
emulator -accel-check. -
Étape 3 : installer les composants avec le SDK Manager
- Ouvrir Android Studio. Sur l'écran d'accueil, cliquer sur More Actions → SDK Manager (dans un projet ouvert : Tools → SDK Manager).
-
3.1. Onglet SDK Platforms
- Cocher la dernière version stable d'Android si elle n'est pas déjà installée.
-
3.2. Onglet SDK Tools
- Vérifier que les éléments suivants sont cochés (statut Installed) :
- Android SDK Build-Tools;
- Android SDK Command-line Tools (latest): indispensable pour accepter les licences depuis Flutter ;
- Android Emulator;
- Android SDK Platform-Tools (contient
adb).
- Cliquer sur Apply, accepter les licences et attendre la fin des téléchargements.
- Noter le chemin affiché en haut de la fenêtre, Android SDK Location. Sous Windows, c'est en général
C:\Users\VotreNom\AppData\Local\Android\Sdk.
- Vérifier que les éléments suivants sont cochés (statut Installed) :
-
3.3. Accepter les licences Android pour Flutter
- Dans un terminal, exécuter la commande suivante et répondre y à chaque question :
flutter doctor --android-licenses
Point de contrôle 3 :
flutter doctor affiche une coche verte devant Android toolchain. -
Étape 4 : rendre les outils accessibles depuis le terminal
- Flutter trouve le SDK Android tout seul, mais pour utiliser
adbetemulatordans un terminal, il faut déclarer leur emplacement dans les variables d'environnement. -
4.1. Sous Windows
- Menu Démarrer : rechercher Modifier les variables d'environnement pour votre compte.
- Dans Variables utilisateur, cliquer sur Nouvelle… et créer
ANDROID_HOMEavec pour valeur le chemin noté à l'étape 3.2. - Sélectionner la variable Path, cliquer sur Modifier, puis ajouter deux lignes :
%ANDROID_HOME%\platform-tools%ANDROID_HOME%\emulator - Valider avec OK, puis fermer et rouvrir VS Code et tous les terminaux pour qu'ils prennent en compte les nouvelles variables.
-
4.2. Sous macOS et Linux
- Ajouter ces lignes à la fin de
~/.zshrc(macOS) ou~/.bashrc(Linux), puis rouvrir le terminal :
- Ajouter ces lignes à la fin de
- Flutter trouve le SDK Android tout seul, mais pour utiliser
# macOS : $HOME/Library/Android/sdk | Linux : $HOME/Android/Sdk
export ANDROID_HOME="$HOME/Library/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator"
-
4.3. Vérifier
- Dans un nouveau terminal, exécuter :
adb version # affiche la version d'Android Debug Bridge
emulator -accel-check # doit indiquer que l'accélération est utilisable
emulator -list-avds # liste les AVD (vide pour l'instant)
Point de contrôle 4 :
emulator -accel-check affiche un message du type WHPX (...) is installed and usable. (Windows) ou KVM (...) is installed and usable. (Linux). Si la commande est « introuvable », revoir l'étape 4.1 et rouvrir le terminal.-
Étape 5 : créer un appareil virtuel (AVD)
-
5.1. Ouvrir le Device Manager
- Depuis l'écran d'accueil d'Android Studio : More Actions → Virtual Device Manager.
- Depuis un projet ouvert : View → Tool Windows → Device Manager, puis cliquer sur + et Create Virtual Device.
-
5.2. Suivre l'assistant de création
- Choisir le matériel (Select Hardware) : catégorie Phone, puis un modèle récent, par exemple Pixel 8. Les modèles avec le logo Google Play incluent le Play Store. Cliquer sur Next.
- Choisir l'image système (System Image) : prendre une version récente proposée dans l'onglet Recommended. Une icône de téléchargement indique que l'image n'est pas encore installée : cliquer dessus et attendre la fin du téléchargement. Cliquer sur Next.
- Vérifier la configuration (Verify Configuration) : donner un nom simple sans espace, par exemple
Pixel_8_API_35. Cliquer sur Show Advanced Settings pour ajuster les réglages du tableau ci-dessous, puis sur Finish.
-
| Réglage | Valeur conseillée | Pourquoi |
|---|---|---|
| Architecture de l'image | x86_64 sur PC Intel/AMD ; arm64-v8a sur Mac Apple Silicon (M1, M2…) | L'image doit correspondre au processeur pour être accélérée. |
| Type d'image | Google Play ou Google APIs | Nécessaire si l'application utilise des services Google (cartes, connexion Google, Firebase). |
| Graphics | Hardware (ou Automatic) | Utilise la carte graphique ; passer en Software seulement si l'émulateur affiche un écran noir. |
| RAM | 2 048 Mo (4 096 Mo si le PC a 16 Go) | Trop de RAM pour l'AVD ralentit le reste du PC. |
| Boot option | Quick boot | Redémarre en quelques secondes à partir d'une sauvegarde de l'état précédent. |
Point de contrôle 5 : le nouvel appareil apparaît dans l'onglet Virtual du Device Manager, et la commande
emulator -list-avds affiche son nom.-
Étape 6 : lancer l'émulateur
- Le premier démarrage peut prendre une à deux minutes ; les suivants sont beaucoup plus rapides grâce au Quick boot. Trois méthodes sont possibles :
-
Méthode A : depuis VS Code (conseillée)
- Ouvrir un projet Flutter dans VS Code.
- Cliquer sur le nom de l'appareil affiché dans la barre d'état, en bas à droite (par exemple Windows (windows-x64) ou No Device).
Vous pouvez aussi ouvrir la palette de commandes (Ctrl + Maj + P) et taper Flutter: Select Device. - Dans la liste, choisir votre AVD (
Pixel_8_API_35) : VS Code démarre l'émulateur et le sélectionne comme appareil cible.
-
Méthode B : depuis Android Studio
- Dans le Device Manager, onglet Virtual, cliquer sur le bouton Lancer (triangle) en face de l'AVD.
-
Méthode C : depuis le terminal
# Lister les émulateurs connus de Flutter
flutter emulators
# Lancer un émulateur par son identifiant
flutter emulators --launch Pixel_8_API_35
# Vérifier que l'émulateur est vu comme appareil
flutter devices
Point de contrôle 6 : l'écran d'accueil d'Android s'affiche dans la fenêtre de l'émulateur, et
flutter devices liste un appareil du type sdk gphone64 x86 64 (mobile) • emulator-5554. -
Étape 7 : exécuter une application Flutter sur l'émulateur
- Créer un projet de test et l'ouvrir dans VS Code :
flutter create test_emulateur
cd test_emulateur
code .
- Vérifier que l'émulateur est sélectionné dans la barre d'état, puis lancer l'application :
- avec F5 (Run → Start Debugging) : mode débogage, avec points d'arrêt ;
- ou avec Ctrl + F5 (Run Without Debugging) ;
- ou dans le terminal :
flutter run.
- Le premier lancement compile le projet Android avec Gradle et peut prendre plusieurs minutes. Les lancements suivants sont beaucoup plus rapides.
-
Recharger l'application sans la relancer
| Action | Dans VS Code | Dans le terminal (flutter run) |
Effet |
|---|---|---|---|
| Hot reload | Enregistrer le fichier (Ctrl + S) ou icône éclair | r | Applique le changement en gardant l'état (le compteur ne revient pas à 0). |
| Hot restart | Ctrl + Maj + F5 | R | Redémarre l'application et remet l'état à zéro. |
| Arrêter | Maj + F5 | q | Ferme l'application (l'émulateur reste allumé). |
Point de contrôle 7 : l'application compteur s'affiche dans l'émulateur. Modifiez le titre dans
lib/main.dart, enregistrez : le nouveau titre apparaît en moins d'une seconde, sans que le compteur revienne à zéro.-
Utiliser l'émulateur au quotidien
-
La barre d'outils de l'émulateur
- À côté de l'écran du téléphone, la barre d'outils permet notamment de faire pivoter l'appareil (pour tester le mode paysage), de régler le volume, de prendre une capture d'écran et d'utiliser les boutons Retour, Accueil et Applications récentes.
- Le bouton … (Extended controls) ouvre les contrôles étendus : position GPS, niveau de batterie, type de réseau, appels et SMS simulés, etc. Très utile pour tester une application de localisation sans se déplacer.
-
Gérer les AVD dans le Device Manager
- Menu ⋮ de l'AVD → Stop: arrêter l'émulateur proprement.
- Menu ⋮ → Wipe Data: remettre le téléphone virtuel à zéro (comme une réinitialisation d'usine). Utile si l'émulateur est plein ou instable.
- Icône crayon (Edit) : modifier la RAM, le mode graphique ou le démarrage. Passer temporairement Boot option en Cold boot pour forcer un démarrage complet après un blocage.
- Créer plusieurs AVD (petit écran, grande tablette, ancienne version d'Android) pour tester le responsive de vos applications.
-
Commandes utiles
-
adb devices # appareils connectés (émulateurs et téléphones)
emulator -avd Pixel_8_API_35 -no-snapshot-load # démarrage complet, sans Quick boot
emulator -avd Pixel_8_API_35 -wipe-data # démarrer en réinitialisant l'AVD
adb kill-server && adb start-server # relancer ADB si l'appareil n'est plus détecté
-
L'extension Android iOS Emulator (facultative)
- L'extension Flutter de VS Code sait déjà lancer les émulateurs (étape 6, méthode A) : l'extension Android iOS Emulator n'est donc pas obligatoire. Elle ajoute simplement un bouton pour lancer un émulateur sans ouvrir de projet Flutter.
- Pour l'installer et la configurer :
- ouvrir l'onglet des extensions (Ctrl + Maj + X), rechercher Android iOS Emulator et cliquer sur Installer;
- ouvrir les paramètres (Ctrl + ,), rechercher Android iOS Emulator et indiquer le chemin du dossier
emulatordu SDK (par exempleC:\Users\VotreNom\AppData\Local\Android\Sdk\emulator) ; - cliquer sur l'icône de téléphone ajoutée en haut à droite de l'éditeur, puis choisir l'AVD à lancer.

Et iOS ? Le simulateur iOS ne fonctionne que sur un Mac, avec Xcode installé. Il se lance avec
open -a Simulator, puis apparaît dans la liste des appareils de VS Code comme un AVD.-
Résolution des problèmes courants
| Symptôme | Cause probable | Solution |
|---|---|---|
flutter doctor: Android license status unknown ou cmdline-tools component is missing |
Licences non acceptées ou outils en ligne de commande absents | Installer Android SDK Command-line Tools (latest) (étape 3.2), puis flutter doctor --android-licenses. |
| Message x86_64 emulation currently requires hardware acceleration | Virtualisation désactivée ou hyperviseur absent | Refaire les étapes 1.2 et 2, redémarrer, puis vérifier avec emulator -accel-check. |
| L'émulateur n'apparaît pas dans la liste de VS Code | Aucun AVD créé, ou VS Code ouvert avant l'installation | Vérifier avec flutter emulators, puis redémarrer VS Code. |
adb ou emulator: « commande introuvable » |
Variables d'environnement absentes | Refaire l'étape 4 et ouvrir un nouveau terminal. |
| Écran noir, ou l'émulateur se ferme aussitôt | Problème de pilote graphique | Mettre à jour le pilote de la carte graphique, ou passer Graphics en Software dans les réglages de l'AVD. |
| Émulateur très lent | Pas d'accélération, image ARM sur PC Intel, ou mémoire insuffisante | Vérifier emulator -accel-check, utiliser une image x86_64, fermer les applications inutiles, réduire la RAM de l'AVD à 2 Go. |
| VS Code reste bloqué sur Waiting for device ou l'appareil est offline | ADB ne communique plus avec l'émulateur | adb kill-server puis adb start-server; sinon arrêter l'AVD et le relancer en Cold boot. |
INSTALL_FAILED_INSUFFICIENT_STORAGE |
Mémoire interne de l'AVD pleine | Wipe Data dans le Device Manager, ou augmenter le stockage interne de l'AVD. |
| L'application n'accède pas à Internet dans l'émulateur | Réseau du PC (proxy, VPN) ou DNS | Vérifier la connexion du PC, désactiver le VPN, configurer le proxy dans les contrôles étendus (Settings → Proxy), puis faire un Cold boot. |
Le premier flutter run reste longtemps sur Running Gradle task 'assembleDebug' |
Gradle télécharge ses dépendances | C'est normal la première fois : patienter (plusieurs minutes) sans interrompre. |
-
Activité pratique : votre premier émulateur
- Objectif : valider toute la chaîne, du PC jusqu'à l'application Flutter.
- Consignes :
- Relever dans le Gestionnaire des tâches l'état de la virtualisation de votre poste.
- Exécuter
emulator -accel-checket noter le résultat. - Créer deux AVD : un téléphone (Pixel 8) et une tablette (Pixel Tablet), avec la même version d'Android.
- Lancer le projet
test_emulateursur le téléphone depuis VS Code, puis sur la tablette depuis le terminal avecflutter run -d <identifiant>(identifiant donné parflutter devices). - Faire pivoter le téléphone en mode paysage, puis tester un hot reload et un hot restart: expliquer la différence observée sur le compteur.
- Dans les contrôles étendus, changer la position GPS et le niveau de batterie, puis faire une capture d'écran de l'émulateur.
- Rendre un court compte rendu avec les résultats des points 1 et 2, les commandes utilisées et vos captures d'écran.