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 :
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 emulatorpour 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 -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 --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-9est 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 profilmedium_phoneest 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). Utilisezandroid emulator listpour 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--skilln'est pas spécifié), seule la compétenceandroid-cliest 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--alln'est pas spécifié), seule la compétenceandroid-cliest 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 laresolvecommande.
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écutezadb 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 :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: 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.