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. Il standardise les compétences de développement de base pour les workflows axés sur les agents, en fournissant un point d'entrée vers les outils, les compétences et les connaissances officielles dont vous avez besoin pour développer plus efficacement. Il 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 la CLI pour automatiser la configuration de l'environnement, créer des projets à partir de modèles et gérer les appareils virtuels directement depuis votre terminal. Il donne également accès à vos agents 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 :
Pour vous assurer d'utiliser 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é, cela signifie qu'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 emulatorpour Windows est actuellement désactivée.
Options globales
Il s'agit d'options facultatives que vous pouvez utiliser avec d'autres commandes Android CLI.
-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 -handroid 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 paramètre --sdk pour remplacer temporairement le SDK Android par défaut au lieu de modifier vos variables d'environnement globales chaque fois que vous souhaitez changer de SDK. 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 liste 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 : initialisez un nouveau projet à partir d'un modèle. Pour afficher les options du 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. S'il est omis, le répertoire de sortie est utilisé.<template-name>: nom du modèle à partir duquel créer un projet. En cas d'omission,empty-activity-agp-9est utilisé.
Exemple : android create --dry-run --verbose empty-activity-agp-9
create list
Utilisation : android create list
Description : liste tous les modèles disponibles pour 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 les emplacements des 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. S'il est omis, 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 la CLI.
Commencez par rechercher la documentation liée à votre requête à l'aide de la commande search. Les résultats de recherche incluent des URL spéciales commençant par kb://, que vous pouvez ensuite utiliser avec la commande fetch pour afficher 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éez un appareil virtuel.
Options :
--list-profiles: liste les profils d'appareil pouvant être utilisés pour créer un appareil.--profile=<profile-name>: crée un appareil avec le profil spécifié. Si cette valeur est omise, le profilmedium_phonesera créé.
emulator list
Utilisation : android emulator list
Description : liste les appareils virtuels disponibles.
emulator start
Utilisation : android emulator start <device-name>
Description : lancez l'appareil virtuel spécifié.
Arguments (obligatoires) :
<device-name>: nom de l'appareil à démarrer (medium_phone, par exemple). Utilisezandroid emulator listpour afficher les appareils disponibles.
Exemple : android emulator start medium_phone
emulator stop
Utilisation : android emulator stop <device-serial-number>
Description : arrêtez 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 : configurez votre environnement pour les agents en installant la compétence android-cli.
layout
Utilisation : android layout [--pretty] [--output] [--diff]
Description : renvoie la mise en page de l'UI 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 des retraits et des sauts de ligne pour la rendre lisible par l'homme.-o, --output: spécifie un emplacement de fichier pour enregistrer l'arborescence de mise en page. Si cette option est omise, le fichier JSON est imprimé directement sur stdout.-d, --diff: renvoie une liste des éléments de mise en page qui ont changé depuis le dernier instantané interne (la dernière fois que la mise en page a été exécutée), au lieu de l'arborescence de mise en page complète.
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 : installez les compétences Android dans les répertoires de compétences pour tous les agents détectés. Si vous ne disposez d'aucun répertoire d'agents existant et que vous ne spécifiez aucun agent particulier, les compétences seront installées pour Gemini et Antigravity à l'adresse ~/.gemini/antigravity/skills.
Options :
--all: ajoutez toutes les compétences Android en même temps. Si elle est omise (et que--skilln'est pas spécifié), seule la skillandroid-clisera installée.--agent: liste des agents pour lesquels installer la skill, séparés par une virgule. Si elle est omise, la compétence sera installée pour tous les agents détectés.--skill: nom de la skill que vous souhaitez installer. Si elle est omise (et que--alln'est pas spécifié), seule la compétenceandroid-clisera installée.
Exemple : android skills add --agent='gemini' edge-to-edge
skills find
Utilisation : android skills find <string>
Description : trouve les compétences qui correspondent à une chaîne donnée.
Arguments (obligatoires) :
string: chaîne correspondant à la description d'une compétence.
Exemple : android skills find 'performance'
skills list
Utilisation : android skills list [--long]
Description : liste les compétences disponibles.
Options :
--long: affiche des informations supplémentaires pour chaque compétence, y compris sa description 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 sera 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 auxquels supprimer la compétence. Si elle est omise, la compétence sera 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 l'emplacement du fichier où enregistrer la capture d'écran. Si cette option est omise, les données PNG brutes seront imprimées directement sur stdout.-a, --annotate: dessine des cadres de délimitation étiquetés autour de tous les éléments d'UI détectés sur l'image, à utiliser avec la commanderesolve.
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 scripter les clics sur des éléments sans avoir à calculer manuellement leurs positions.
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>sera 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 le résultat.
input tap 500 1000
sdk install
Utilisation : android sdk install <package[@version]> [--beta] [--canary] [--force]
Description : installez le ou les packages SDK spécifiés.
Arguments (obligatoires) :
package[@version]: liste des 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: inclure les packages bêta.--canary: inclure les packages Canary.--force: force le passage à une version antérieure.
Exemples :
android sdk install platforms/android-34 build-tools/34.0.0: installez les dernières versions des packages Android SDK Platform 34 et SDK Build-Tools 34.0.0 à partir du canal stable.android sdk install platforms/android-34@2: installez la version 2 du package Android SDK Platform 34.android sdk install --canary system-images/android-35/google_apis/x86_6- Installez la dernière version de l'image système Android 35 à partir du canal Canary.android sdk install --force platforms/android-33@1: rétablissez la version 1 du package Android SDK Platform 33 à partir du canal stable.
sdk list
Utilisation : android sdk list <package-pattern>
Description : liste 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: afficher tous les packages installés et disponibles.--all-versions: affiche toutes les versions de chaque package.--beta: inclure les packages bêta.--canary: inclure les packages Canary.
sdk remove
Utilisation : android sdk remove <package-name>
Description : supprimez 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éployez une application Android sur un appareil connecté ou un émulateur. Il n'effectue aucune étape de compilation. Vous devez fournir le ou les chemins d'accès aux fichiers APK que vous souhaitez installer.
Arguments (obligatoires) :
--apks: liste des chemins d'accès aux fichiers APK que vous souhaitez installer, séparés par une virgule. Le chemin 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écutezadb devices.--type: type de composant à utiliser pour commencer. Utilisez cette méthode si vous souhaitez démarrer un service en arrière-plan directement au lieu d'une activité d'UI. Types acceptés :ACTIVITYWATCH_FACETILECOMPLICATIONDECLARATIVE_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: testez 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 : mettez à jour un ou plusieurs packages vers la dernière version du canal (le canal stable par défaut). Si vous ne spécifiez aucun package, tous les packages seront mis à jour.
Options :
<package-name>: nom du package à mettre à jour.--beta: inclure les packages bêta.--canary: inclure les packages Canary.--force: force le passage à 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: mettez à 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: mettez à jour le package Android SDK Platforms 35 vers la dernière version du canal Canary.
update
Utilisation : android update
Description : mettez à jour l'interface de ligne de commande Android.
-V, --version
Description : affiche la version actuelle de l'interface de ligne de commande Android.