android-emulator

Lancez une application Android sur le téléphone du propriétaire ou sur l'émulateur du projet — démarrez et arrêtez l'émulateur, choisissez le périphérique, compilez, installez, ouvrez l'application et prenez des captures d'écran. À utiliser chaque fois qu'une tâche nécessite l'exécution de l'application Android sur un appareil ou un émulateur, une capture d'écran, ou lorsque le propriétaire demande de démarrer, arrêter ou vérifier l'émulateur.

Qu'est-ce que android-emulator ?

Cette compétence (skill) permet à un agent IA de gérer entièrement le cycle de vie d'une application Android sur un appareil physique ou un émulateur. Elle est particulièrement utile pour les développeurs qui travaillent avec Android Studio, Claude Code ou d'autres agents et qui ont besoin d'automatiser des tâches comme la compilation, l'installation, l'ouverture de l'application, la prise de captures d'écran et l'interaction avec l'interface utilisateur. La compétence prend en charge le projet en lisant un fichier de configuration `.claude/android-emulator.md` pour obtenir le nom de l'AVD (Android Virtual Device), l'ID de l'application et les scripts de compilation. Elle donne la priorité au téléphone du propriétaire (détecté via `adb devices`) et ne démarre l'émulateur que si nécessaire, en libérant la mémoire après la tâche. Les actions clés incluent le démarrage et l'arrêt de l'émulateur, la compilation de l'APK (optimisée pour les ABI spécifiques), l'installation, l'ouverture de l'activité, les captures d'écran, les interactions tactiles, la récupération des logs et la modification des paramètres système (mode sombre, langue). La compétence insiste sur la prudence avec les données personnelles de l'utilisateur et recommande de rétablir les modifications après la tâche.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chencohensolutions/claude-skills/tree/HEAD/plugins/android-emulator/skills/android-emulator

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Android : téléphone ou émulateur

Notes du projet

Chaque projet nomme son émulateur et son application dans .claude/android-emulator.md : le nom de l'AVD, l'ID de l'application (et celui du lab UI, s'il y en a un) et les scripts de lancement propres au projet. Lisez-le en premier. Sans cela, exécutez $ANDROID_HOME/emulator/emulator -list-avds et choisissez l'AVD nommé d'après le projet ; s'il n'y en a pas, demandez au propriétaire, puis écrivez les notes.

Outils : sdk="${ANDROID_HOME:-$HOME/Library/Android/sdk}", adb="$sdk/platform-tools/adb". Gradle a besoin d'un JDK : JAVA_HOME, sinon openjdk@21 de Homebrew (/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home), sinon celui fourni avec Android Studio (/Applications/Android Studio.app/Contents/jbr/Contents/Home).

Quel périphérique

Le téléphone du propriétaire est prioritaire : adb devices le liste avec un numéro de série qui ne commence pas par emulator- (USB ou débogage sans fil). Sans téléphone, utilisez l'émulateur du projet. Le propriétaire peut demander l'un ou l'autre ; DEVICE=phone, DEVICE=emulator ou DEVICE=<serial> est la façon dont les scripts du projet prennent ce choix.

Passez toujours -s <serial> à adb une fois un périphérique choisi, car un autre peut se connecter entre-temps.

L'émulateur

Ne le démarrez que lorsque c'est nécessaire et arrêtez-le une fois la tâche terminée, car il occupe plusieurs Go de mémoire. Utilisez le scripts/emulator.sh du projet s'il en a un ; sinon, utilisez celui de cette compétence (dans le répertoire de base de la compétence, affiché lors du chargement de la compétence), avec AVD=<name> depuis les notes :

AVD=<name> <skill dir>/scripts/emulator.sh up       # sans interface ; attend que Android ait démarré, affiche le numéro de série
AVD=<name> <skill dir>/scripts/emulator.sh status
AVD=<name> <skill dir>/scripts/emulator.sh down     # sauvegarde l'instantané de démarrage rapide, donc le prochain up prend quelques secondes

up arrête d'abord les autres émulateurs en cours d'exécution, car les scripts et adb choisissent le premier (KEEP_OTHERS=1 les conserve) ; WINDOW=1 affiche sa fenêtre, ce que le propriétaire peut vouloir regarder. Lancez up en arrière-plan lorsque la compilation peut continuer entre-temps. En cas d'échec, son journal se trouve dans ${TMPDIR:-/tmp}/emulator-<avd>.log.

Compiler, installer, ouvrir

Privilégiez les scripts du projet (les notes les mentionnent : un script de lancement, le script du lab UI). À faire manuellement :

  1. Ne compilez que l'ABI du périphérique lorsque le projet le supporte (-Pabi=$(adb -s <serial> shell getprop ro.product.cpu.abi), ou ABI= pour le script du projet) : les bibliothèques natives rendent un APK complet lent à envoyer via le débogage sans fil.
  2. adb -s <serial> install -r <apk>. -r conserve les données de l'application ; ne désinstallez jamais ni n'effacez les données (pm clear) de l'application du propriétaire sur son téléphone sans demander, car elles contiennent ses vraies données.
  3. Ouvrez-la avec adb -s <serial> shell am start --user current -S -f 0x10008000 -n <app id>/<activity> : -S arrête l'ancien processus pour que la nouvelle compilation s'exécute, --user current est nécessaire sur un téléphone avec un dossier sécurisé, et les flags (nouvelle tâche, suppression de l'ancienne) empêchent Android de reprendre un écran précédent.

Observer

  • Capture d'écran : adb -s <serial> exec-out screencap -p > <file>.png, puis regardez le fichier. Un écran tout noir depuis le téléphone signifie qu'il est verrouillé : demandez au propriétaire de le déverrouiller.
  • Appuyer et taper pour un flux : adb -s <serial> shell input tap <x> <y>, input text <texte>, input keyevent KEYCODE_BACK ; trouvez les coordonnées avec adb -s <serial> exec-out uiautomator dump /dev/tty.
  • Journaux : adb -s <serial> logcat -d --pid=$(adb -s <serial> shell pidof <app id>), ou -s <tag> pour une balise. Plantage : adb -s <serial> logcat -d -b crash.
  • Mode sombre et langue pour les cas limites : adb -s <serial> shell cmd uimode night yes|no ; changez la langue uniquement sur l'émulateur, pas sur le téléphone du propriétaire.

Indiquez au propriétaire de quel périphérique provient chaque résultat. Remettez en place tout ce que vous avez modifié sur son téléphone (mode sombre, par exemple) une fois terminé, et arrêtez l'émulateur si vous l'avez démarré.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés