Présentation de l'interface de ligne de commande Android

L'interface de ligne de commande Android vous permet de créer plus facilement et plus efficacement des applications pour Android à l'aide de l'outil de votre choix. Elle normalise les compétences de développement de base pour les workflows axés sur les agents, en fournissant un point d'entrée aux outils, compétences et connaissances officiels dont vous avez besoin pour développer plus efficacement. Elle peut également simplifier l'intégration continue, la maintenance et toute autre automatisation scriptée pour la nature de plus en plus distribuée du développement Android.

Par exemple, un agent ou un script peut utiliser l'interface de ligne de commande pour automatiser la configuration de l'environnement, créer des projets à partir de modèles et gérer des appareils virtuels directement depuis votre terminal. Elle donne également à vos agents accès aux compétences Android et à la base de connaissances Android spécialisée pour vous aider à vous assurer que vos projets appliquent les modèles et les bonnes pratiques recommandés par Android.

Installer l'interface de ligne de commande Android

Pour installer l'interface de ligne de commande Android, procédez comme suit :

  1. Téléchargez l'interface de ligne de commande Android.

  2. Pour vous assurer que vous utilisez la dernière version, mettez à jour l'interface de ligne de commande Android :

    android update
    

Pour vérifier si l'interface de ligne de commande Android est déjà installée sur votre machine, exécutez which android ou command -v android. Si un chemin d'accès est renvoyé, elle est installée.

Configurer pour les agents

Pour aider les agents à comprendre et à utiliser l'interface de ligne de commande Android, exécutez init pour installer la compétence android-cli :

android init

Problèmes connus

  • La commande android emulator pour Windows est actuellement désactivée.

Si vous rencontrez des problèmes ou si vous souhaitez nous faire part de vos commentaires, veuillez signaler un bug.

Options globales

Il s'agit d'options facultatives que vous pouvez utiliser avec d'autres commandes de l'interface de ligne de commande Android.

-h, --help

Utilisation : android <command> -h

Description : affiche le manuel d'aide de l'outil ou de la commande spécifique en question.

Exemples :

  • android -h
  • android create -h

--sdk

Utilisation : android --sdk=<path-to-sdk> <command>

Description : chemin d'accès au SDK Android que vous souhaitez utiliser pour la commande suivante. Vous pouvez utiliser le --sdk paramètre pour remplacer temporairement le SDK Android par défaut au lieu de modifier vos variables d'environnement globales chaque fois que vous souhaitez changer. Pour vérifier quel SDK Android vous utilisez par défaut, exécutez android info.

Exemple : android --sdk=<path/to/sdk> sdk list

Commandes

Cette section répertorie toutes les commandes de l'interface de ligne de commande Android et décrit leur fonctionnement. Toutes ces commandes doivent être précédées de android, par exemple android create, android run, etc. Les modificateurs facultatifs sont placés entre crochets [], contrairement aux arguments obligatoires.

create

Utilisation : android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]

Description : initialise un nouveau projet à partir d'un modèle. Pour afficher les options de modèle, exécutez android create -h.

Arguments (obligatoires) :

  • -o, --output : chemin d'accès au répertoire du projet de destination.

Options :

  • --dry-run : simule l'ensemble du processus de création du projet sans enregistrer de fichiers. Par exemple, vous pouvez effectuer une simulation pour voir ce que font les différents modèles avant de vous engager.
  • --verbose : active la sortie détaillée, y compris des informations telles que les fichiers copiés à partir du modèle.
  • --name=<application-name> : nom du répertoire du projet. Si cette option est omise, le répertoire de sortie est utilisé.
  • <template-name> : nom du modèle à partir duquel créer un projet. Si cette option est omise, empty-activity-agp-9 est utilisé.

Exemple : android create --dry-run --verbose empty-activity-agp-9

create list

Utilisation : android create list

Description : répertorie tous les modèles disponibles à partir desquels créer un projet.

describe

Utilisation : android describe [--project_dir=<project-directory>]

Description : analyse un projet Android pour générer des métadonnées descriptives. Cette commande identifie et génère les chemins d'accès aux fichiers JSON qui détaillent la structure du projet, y compris les cibles de compilation et leurs emplacements d'artefacts de sortie correspondants (par exemple, les fichiers APK). Ces informations permettent à d'autres outils et commandes de localiser efficacement les artefacts de compilation.

Options :

  • --project_dir : répertoire du projet à décrire. Si cette option est omise, le répertoire actuel est utilisé.

Exemple : android describe --project_dir=/path/to/your/project

docs

Utilisation :

  • android docs search <query>
  • android docs fetch <kb-url>

Description: La commande android docs est un processus en deux étapes permettant d' accéder à la base de connaissances Android directement depuis l'interface de ligne de commande. Tout d'abord, recherchez la documentation liée à votre requête à l'aide de la commande search. Les résultats de la recherche incluent des URL spéciales commençant par kb://, que vous pouvez ensuite utiliser avec la commande fetch pour générer les commandes de documentation dans le terminal.

Exemples :

  • android docs search 'How do I improve my app performance?'
  • android docs fetch kb://android/topic/performance/overview

emulator create

Utilisation : android emulator create [--list-profiles] [--profile=<profile-name>]

Description : crée un appareil virtuel.

Options :

  • --list-profiles : répertorie les profils d'appareil qui peuvent être utilisés pour créer un appareil.
  • --profile=<profile-name> : crée un appareil avec le profil spécifié. Si cette option est omise, le profil medium_phone est créé.

emulator list

Utilisation : android emulator list

Description : répertorie les appareils virtuels disponibles.

emulator start

Utilisation : android emulator start <device-name>

Description : lance l'appareil virtuel spécifié.

Arguments (obligatoires) :

  • <device-name> : nom de l'appareil à démarrer (par exemple, medium_phone). Utilisez android emulator list pour afficher les appareils disponibles.

Exemple : android emulator start medium_phone

emulator stop

Utilisation : android emulator stop <device-serial-number>

Description : arrête l'appareil virtuel spécifié.

Arguments (obligatoires) :

  • <device-serial-number> : numéro de série de l'appareil à arrêter.

Exemple : android emulator stop emulator-5554

info

Utilisation : android info

Description : affiche le chemin d'accès au SDK Android par défaut utilisé. Pour modifier le SDK Android utilisé, utilisez --sdk.

init

Utilisation : android init

Description : configure votre environnement pour les agents en installant la compétence android-cli.

layout

Utilisation : android layout [--pretty] [--output] [--diff]

Description : renvoie la disposition de l'interface utilisateur de l'application Android active (connectée via un appareil physique ou un émulateur) au format JSON.

Options :

  • -p, --pretty : met en forme la sortie JSON avec une indentation et des sauts de ligne pour faciliter la lecture.
  • -o, --output : spécifie un emplacement de fichier pour enregistrer l'arborescence de la disposition. Si cette option est omise, le JSON est imprimé directement dans stdout.
  • -d, --diff : renvoie une liste des seuls éléments de disposition qui ont changé depuis le dernier instantané interne (la dernière fois que la disposition a été exécutée), au lieu de l'arborescence complète de la disposition.

Exemple : android layout --output=./hierarchy.json

skills add

Les compétences Android sont des instructions spéciales conçues pour aider les agents à mieux comprendre et exécuter des modèles spécifiques qui suivent les bonnes pratiques et les conseils sur le développement Android. Pour en savoir plus, consultez Présentation des compétences Android.

Utilisation : android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]

Description : installe les compétences Android dans les répertoires de compétences pour tous les agents détectés. Si vous n'avez pas de répertoires d'agents existants et que vous ne spécifiez pas d'agents particuliers, les compétences seront installées pour Gemini et Antigravity dans ~/.gemini/antigravity/skills.

Options :

  • --all : ajoute toutes les compétences Android en une seule fois. Si cette option est omise (et que --skill n'est pas spécifié), seule la compétence android-cli est installée.
  • --agent : liste d'agents séparés par une virgule pour lesquels installer la compétence. Si cette option est omise, la compétence est installée pour tous les agents détectés.
  • --skill : nom de la compétence que vous souhaitez installer. Si cette option est omise (et que --all n'est pas spécifié), seule la compétence android-cli est installée.

Exemple : android skills add --agent='gemini' edge-to-edge

skills find

Utilisation : android skills find <string>

Description : recherche les compétences qui correspondent à une chaîne donnée.

Arguments (obligatoires) :

  • string : chaîne correspondant à une description de compétence.

Exemple : android skills find 'performance'

skills list

Utilisation : android skills list [--long]

Description : répertorie les compétences disponibles.

Options :

  • --long : génère des informations supplémentaires pour chaque compétence, y compris la description de la compétence et les agents pour lesquels elle est déjà installée.

skills remove

Utilisation : android skills remove [--agent] --skill=<skill-name>

Description : supprime une compétence. Si vous ne spécifiez pas d'agents particuliers, la compétence est supprimée pour tous les agents.

Arguments (obligatoires) :

  • --skill : nom de la compétence à supprimer.

Options :

  • --agent : liste d'agents séparés par une virgule pour lesquels supprimer la compétence. Si cette option est omise, la compétence est supprimée pour tous les agents.

Exemple : android skills remove --agent='gemini' --skill=edge-to-edge

screen capture

Utilisation : android screen capture [--output] [--annotate]

Description : capture une capture d'écran de l'appareil connecté.

Options :

  • -o, --output : spécifie un emplacement de fichier pour enregistrer la capture d'écran. Si cette option est omise, les données PNG brutes sont imprimées directement dans stdout.
  • -a, --annotate : dessine des cadres de délimitation étiquetés autour de tous les éléments d'interface utilisateur détectés sur l'image, à utiliser avec la resolve commande.

Exemple : android screen capture --output=ui.png

screen resolve

Utilisation : android screen resolve --screenshot=<path> --string=<string>

Description : traduit les libellés visuels d'une capture d'écran annotée, capturée à l'aide de screen capture, en coordonnées d'écran réelles (x, y). Utile pour les clics de script sur des éléments sans avoir à calculer manuellement leur position.

Options :

  • --screenshot : chemin d'accès à la capture d'écran annotée.
  • --string : chaîne incluant au moins un espace réservé correspondant à un libellé d'élément d'interface utilisateur au format #<number>. La partie #<number> est remplacée par les coordonnées de l'écran.

Exemple :

Si le libellé 5 se trouve aux coordonnées (500, 1000), la commande

android screen resolve --screenshot=ui.png --string="input tap #5"

renvoie la sortie

input tap 500 1000

sdk install

Utilisation : android sdk install <package[@version]> [--beta] [--canary] [--force]

Description : installe le ou les packages SDK spécifiés.

Arguments (obligatoires) :

  • package[@version] : liste de packages à installer, séparés par des espaces. Si aucune version n'est spécifiée, la dernière version du package dans le canal (par défaut, le canal stable) est installée.

Options :

  • --beta : inclut les packages bêta.
  • --canary : inclut les packages Canary.
  • --force : force la rétrogradation vers une version antérieure.

Exemples :

  • android sdk install platforms/android-34 build-tools/34.0.0 : installe les dernières versions des packages Android SDK Platform 34 et SDK Built Tools 34.0.0 à partir du canal stable.
  • android sdk install platforms/android-34@2 : installe la version 2 du package Android SDK Platform 34.
  • android sdk install --canary system-images/android-35/google_apis/x86_6 : installe la dernière version de l'image système Android 35 à partir du canal Canary.
  • android sdk install --force platforms/android-33@1 : rétablit la version 1 du package Android SDK Platform 33 à partir du canal stable.

sdk list

Utilisation : android sdk list <package-pattern>

Description : répertorie les packages SDK installés et disponibles.

Arguments (obligatoires) :

  • <package-pattern> : filtre les packages par modèle. Compatible avec les expressions régulières.

Options :

  • --all : affiche tous les packages installés et disponibles.
  • --all-versions : affiche toutes les versions de chaque package.
  • --beta : inclut les packages bêta.
  • --canary : inclut les packages Canary.

sdk remove

Utilisation : android sdk remove <package-name>

Description : supprime un package du SDK.

Arguments (obligatoires) :

  • <package-name> : nom du package à supprimer.

Exemple : android sdk remove build-tools/36.1.0

run

Utilisation : android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>

Description : déploie une application Android sur un appareil connecté ou un émulateur. Aucune étape de compilation n'est effectuée. Vous devez fournir le ou les chemins d'accès aux fichiers APK que vous souhaitez installer.

Arguments (obligatoires) :

  • --apks : liste de chemins d'accès aux fichiers APK que vous souhaitez installer, séparés par une virgule. Le chemin d'accès est relatif à l'emplacement actuel dans le système de fichiers.

Options :

  • --activity : nom de l'activité à lancer une fois l'APK installé. S'il existe plusieurs activités, vous devez en spécifier une à lancer initialement.
  • --debug : déploie l'application en mode débogage. Après avoir exécuté l' application en mode débogage, vous devez connecter votre débogueur à partir d' un IDE, tel qu'Android Studio, ou d'un outil de ligne de commande pour commencer le débogage.
  • --device : numéro de série de l'appareil ou de l'émulateur cible. N'est nécessaire que si plusieurs appareils sont connectés. Pour trouver les numéros de série des appareils, exécutez adb devices.
  • --type : le type de composant à démarrer. Utilisez cette option si vous souhaitez démarrer directement un service en arrière-plan au lieu d'une activité d'interface utilisateur. Types acceptés :
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_WATCH_FACE

Exemples :

  • android run --apks=app/build/outputs/apk/debug/app-debug.apk : déploie un seul APK sur l'appareil par défaut.
  • android run --apks=base.apk,density-hdpi.apk,lang-en.apk : déploie plusieurs APK sur l'appareil par défaut.
  • android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService : teste un service sans activité.
  • android run --apks=app-debug.apk --device=emulator-5554 : déploie l'APK sur un appareil spécifique.

sdk update

Utilisation : android sdk update [--beta] [--canary] [<package-name>]

Description : met à jour un ou tous les packages vers la dernière version du canal (par défaut, le canal stable). Si vous ne spécifiez pas de package, tous les packages sont mis à jour.

Options :

  • <package-name> : nom du package à mettre à jour.
  • --beta : inclut les packages bêta.
  • --canary : inclut les packages Canary.
  • --force : force la rétrogradation vers une version antérieure.

Exemples :

  • android sdk update : recherche et installe les mises à jour pour tous les éléments de votre SDK.
  • android sdk update build-tools/34.0.0 : met à jour le package Android SDK Build Tools 34.0.0 vers la dernière version du canal stable.
  • android sdk update --canary platforms/android-35 : met à jour le package Android SDK Platforms 35 vers la dernière version du canal Canary.

update

Utilisation : android update

Description : met à jour l'interface de ligne de commande Android.

-V, --version

Description : affiche la version actuelle de l'interface de ligne de commande Android.