Skip to Content
React Native2. Installation & premier projet2.3 Android Studio & émulateur

Chapitre 2.3 — Android Studio & l’émulateur

Où on en est : l’app tourne sur votre téléphone via Expo Go. On installe maintenant la partie lourde — Android Studio — qui servira trois causes : l’émulateur, les builds locaux illimités (Partie 12), et adb.

⏱️ TL;DR — Android Studio ≈ 10 Go, mais on ne l’utilisera presque jamais comme IDE : on veut son SDK Android, son émulateur (AVD) et adb. Installation guidée, création d’un appareil virtuel Pixel, variables d’environnement ANDROID_HOME, et les commandes adb de survie. Avec 64 Go de RAM, l’émulateur tournera comme une horloge.

🎯 Objectifs

  • Installer Android Studio + SDK sans se perdre dans les options.
  • Créer et lancer un AVD (Android Virtual Device) raisonnable.
  • Configurer ANDROID_HOME et le PATH pour adb.
  • Connaître les commandes adb utiles dès maintenant (logs, installation d’APK).

Installer Android Studio

  1. Téléchargez sur developer.android.com/studio  et lancez l’installeur (gardez les composants par défaut : Android SDK, Android Virtual Device).
  2. Au premier lancement, l’assistant télécharge le SDK. Type d’installation : Standard.
  3. Vérifiez dans More Actions → SDK Manager : la dernière Android SDK Platform stable et, dans l’onglet SDK Tools : Android SDK Build-Tools, Android Emulator, Android SDK Platform-Tools (= adb).

C’est tout ce qu’on demande à Android Studio pour l’instant. Vous ne coderez jamais dedans — VS Code reste votre maison (chapitre suivant).

💡 Pour un dev Next.js — Vision d’ensemble : Android Studio est à la fois le « Xcode d’Android » et votre distributeur de SDK. Le SDK Android = compilateurs + APIs de chaque version d’Android ; gradle (le « npm + webpack » du monde Java/Kotlin) le consomme pour produire les APK. Nous, on pilotera tout ça via npx expo run:android et eas — mais c’est ce moteur-là qui tourne dessous.

Les variables d’environnement

Pour que la CLI Expo et adb fonctionnent hors d’Android Studio :

# PowerShell — à exécuter UNE fois (adapte le chemin si SDK ailleurs) [Environment]::SetEnvironmentVariable('ANDROID_HOME', "$env:LOCALAPPDATA\Android\Sdk", 'User') $path = [Environment]::GetEnvironmentVariable('Path', 'User') [Environment]::SetEnvironmentVariable('Path', "$path;$env:LOCALAPPDATA\Android\Sdk\platform-tools", 'User') # Puis FERMER et rouvrir le terminal adb --version # doit répondre

ANDROID_HOME indique aux outils (Expo, gradle) où vit le SDK ; platform-tools dans le PATH donne adb partout.

Créer l’émulateur (AVD)

Dans Android Studio : More Actions → Virtual Device Manager → Create Virtual Device :

  1. Matériel : Pixel 8 (bon compromis taille/définition).
  2. Image système : la dernière version stable d’Android, en x86_64 — et de préférence une image avec Google Play (badge Play Store) : elle permet d’installer Expo Go dedans.
  3. Nom explicite : Pixel8-API35 (le niveau d’API varie selon l’image choisie).

Lancez-le (▶). Premier démarrage lent, les suivants rapides (snapshot). Avec vos 64 Go de RAM, vous pouvez même en faire tourner deux (téléphone + tablette) sans souffrir.

Ensuite, dans un projet : npx expo start puis touche a — Expo installe Expo Go dans l’émulateur et y lance l’app. Le workflow est identique au téléphone.

⚠️ Piège — Si l’émulateur rame atrocement ou refuse de démarrer, c’est presque toujours l’accélération matérielle : sur Windows moderne, l’émulateur s’appuie sur Hyper-V / Windows Hypervisor Platform (Fonctionnalités Windows → cocher « Plateforme de l’hyperviseur Windows »). Les vieux tutos parlent de HAXM : abandonné par Intel, ignorez.

adb — le couteau suisse

adb (Android Debug Bridge) parle à tout appareil Android connecté — émulateur OU téléphone en USB. Les commandes qui reviendront tout au long du cours :

adb devices # liste les appareils (téléphone USB + émulateurs) adb install app-release.apk # installe un APK (Partie 12 : sideload de Drill !) adb logcat *:S ReactNative:V ReactNativeJS:V # les logs RN uniquement adb reverse tcp:8081 tcp:8081 # fait passer Metro par le câble USB adb shell pm clear com.alex.drill # remet l'app à zéro (données effacées)

adb reverse mérite une étoile : téléphone branché en USB, il mappe le port 8081 du téléphone vers votre PC — Metro fonctionne sans WiFi commun, la solution la plus fiable du chapitre 2.2.

Téléphone vs émulateur : l’arbitrage final

SituationOutil
Dev quotidien, ressenti réelTéléphone (Expo Go / dev build)
Tester une autre taille d’écran / version AndroidÉmulateur
Captures d’écran Play StoreÉmulateur (propres, dimensions exactes)
Notifications, haptics, caméraTéléphone (le vrai comportement)
Pas de WiFi exploitableTéléphone + USB (adb reverse) ou émulateur
E2E automatisés (Maestro, Partie 14)Émulateur (reproductible, CI)

✏️ Exercices

1. Créez l’AVD, lancez-le, puis lancez hello-rn dessus avec la touche a. Vérifiez avec adb devices que l’émulateur est bien listé.

✅ Solution

adb devices doit montrer une ligne du type emulator-5554 device. Si unauthorized sur un téléphone USB : accepter la boîte de dialogue « Autoriser le débogage » sur l’écran du téléphone. Si a échoue : l’AVD n’est pas démarré, ou ANDROID_HOME manque (rouvrir le terminal après l’avoir défini).

2. Branchez votre téléphone en USB, activez le débogage USB, et faites tourner Metro via le câble avec adb reverse. Coupez le WiFi du téléphone pour prouver que ça passe par l’USB.

✅ Solution

adb devices (le téléphone apparaît) → adb reverse tcp:8081 tcp:8081 → dans Expo Go, ouvrir l’app via exp://localhost:8081 (ou relancer depuis le terminal). WiFi coupé, Fast Refresh continue : le trafic passe par le câble. C’est la config anti-problèmes par excellence.

3. Affichez uniquement les logs React Native de l’appareil pendant que vous utilisez l’app, et provoquez un console.log('score: 42') pour le voir passer.

✅ Solution

adb logcat *:S ReactNative:V ReactNativeJS:V filtre tout sauf RN. Le console.log apparaît côté ReactNativeJS. (En pratique quotidienne, les logs s’affichent déjà dans le terminal Metro — logcat sert quand l’app tourne SANS Metro : builds de prod, crashs au démarrage.)

🧠 Quiz

1. Quels sont les trois composants d’Android Studio réellement utilisés dans ce cours ?

Réponse

Le SDK Android (+ Build-Tools, consommés par gradle lors des builds locaux), l’émulateur (AVD), et adb (platform-tools). L’IDE lui-même ne servira presque jamais.

2. À quoi sert ANDROID_HOME ?

Réponse

À indiquer aux outils externes (CLI Expo, gradle, EAS local) l’emplacement du SDK Android. Sans elle, expo run:android et les builds locaux échouent en « SDK location not found ».

3. Pourquoi choisir une image AVD avec Google Play ?

Réponse

Elle inclut le Play Store → on peut installer Expo Go dans l’émulateur (et plus tard tester des services Google). Les images « pures » AOSP ne le permettent pas.

4. Que fait adb reverse tcp:8081 tcp:8081 et quel problème résout-il ?

Réponse

Il redirige le port 8081 du téléphone vers le PC via le câble USB : Expo Go atteint Metro sans réseau WiFi commun. C’est la solution la plus fiable aux problèmes de connexion (isolation WiFi, pare-feu).

5. Citez la commande pour installer un APK et celle pour lire les logs RN.

Réponse

adb install chemin\vers\app.apk · adb logcat *:S ReactNative:V ReactNativeJS:V.


👉 Chapitre suivant : 2.4 — VS Code pour React Native — le poste de pilotage.