Die Android-Befehlszeile ist eine Befehlszeilenschnittstelle, mit der Sie mit jedem beliebigen Tool einfacher und effizienter für Android entwickeln können. Es standardisiert die wichtigsten Entwicklungskompetenzen für Agent-First-Workflows und bietet einen Einstiegspunkt für die offiziellen Tools, Fähigkeiten und das Wissen, die Sie für eine effektivere Entwicklung benötigen. Außerdem kann es die CI, die Wartung und alle anderen automatisierten Abläufe für die zunehmend verteilte Android-Entwicklung optimieren.
Ein Agent oder Skript kann die CLI beispielsweise verwenden, um die Umgebungseinrichtung zu automatisieren, neue Projekte aus Vorlagen zu erstellen und virtuelle Geräte direkt über das Terminal zu verwalten. Außerdem erhalten Ihre Mitarbeiter Zugriff auf Android-Skills und die spezielle Android-Wissensdatenbank, damit in Ihren Projekten die von Android empfohlenen Muster und Best Practices angewendet werden.
Android-Befehlszeile installieren
So installieren Sie die Android-Befehlszeile:
Aktualisieren Sie die Android-Befehlszeile, um die neueste Version zu verwenden:
android update
Wenn Sie prüfen möchten, ob die Android-Befehlszeile bereits auf Ihrem Computer installiert ist, führen Sie which android oder command -v android aus. Wenn ein Pfad zurückgegeben wird, ist sie installiert.
Einrichtung für Kundenservicemitarbeiter
Damit Agents die Android-Befehlszeile verstehen und verwenden können, führen Sie init aus, um den android-cli-Skill zu installieren:
android init
Bekannte Probleme
- Der Befehl
android emulatorfür Windows ist derzeit deaktiviert.
Globale Optionen
Dies sind optionale Flags, die Sie mit anderen Android-CLI-Befehlen verwenden können.
-h, --help
Verwendung:android <command> -h
Beschreibung:Zeigt das Hilfemanual für das betreffende Tool oder den betreffenden Befehl an.
Beispiele:
android -handroid create -h
--sdk
Verwendung:android --sdk=<path-to-sdk> <command>
Beschreibung:Der Pfad zum Android SDK, das Sie für den folgenden Befehl verwenden möchten. Mit der Einstellung --sdk können Sie das Standard-Android-SDK vorübergehend überschreiben, anstatt jedes Mal, wenn Sie wechseln möchten, Ihre globalen Umgebungsvariablen zu ändern. Führen Sie android info aus, um zu prüfen, welches Android SDK Sie standardmäßig verwenden.
Beispiel:android --sdk=<path/to/sdk> sdk list
Befehle
In diesem Abschnitt werden alle Android-Befehlszeilenbefehle aufgeführt und ihre Funktion beschrieben. Allen diesen Befehlen muss android vorangestellt werden, z. B. android create, android run usw. Optionale Modifizierer werden in Klammern [] eingeschlossen, obligatorische Argumente nicht.
create
Verwendung:android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
Beschreibung:Ein neues Projekt aus einer Vorlage initialisieren. Führen Sie android create -h aus, um die Vorlagenoptionen aufzurufen.
Argumente (erforderlich):
-o, --output: Der Pfad zum Zielprojektverzeichnis.
Optionen:
--dry-run: Simuliert den gesamten Prozess der Projekterstellung, ohne tatsächlich Dateien zu speichern. So können Sie beispielsweise einen Probelauf durchführen, um zu sehen, was die verschiedenen Vorlagen bewirken, bevor Sie sich für eine entscheiden.--verbose: Aktiviert die ausführliche Ausgabe, einschließlich Informationen wie z. B. welche Dateien aus der Vorlage kopiert werden.--name=<application-name>: Der Name des Projektverzeichnisses. Wenn nichts angegeben ist, wird das Ausgabeverzeichnis verwendet.<template-name>: Der Name der Vorlage, aus der ein neues Projekt erstellt werden soll. Wenn nichts angegeben ist, wirdempty-activity-agp-9verwendet.
Beispiel:android create --dry-run --verbose empty-activity-agp-9
create list
Verwendung:android create list
Beschreibung:Hier werden alle verfügbaren Vorlagen zum Erstellen eines neuen Projekts aufgeführt.
describe
Verwendung:android describe [--project_dir=<project-directory>]
Beschreibung:Analysiert ein Android-Projekt, um beschreibende Metadaten zu generieren. Mit diesem Befehl werden die Pfade zu JSON-Dateien ermittelt und ausgegeben, in denen die Struktur des Projekts beschrieben wird, einschließlich Build-Zielen und den entsprechenden Speicherorten der Ausgabeartefakte (z. B. APK-Dateien). Mithilfe dieser Informationen können andere Tools und Befehle Build-Artefakte effizient finden.
Optionen:
--project_dir: Das zu beschreibende Projektverzeichnis. Wenn nichts angegeben ist, wird das aktuelle Verzeichnis verwendet.
Beispiel:android describe --project_dir=/path/to/your/project
docs
Verwendung:
android docs search <query>android docs fetch <kb-url>
Beschreibung:Der Befehl android docs ist ein zweistufiger Prozess für den direkten Zugriff auf die Android-Wissensdatenbank über die CLI.
Suchen Sie zuerst mit dem Befehl search nach Dokumentation zu Ihrer Anfrage. Die Suchergebnisse enthalten spezielle URLs, die mit kb:// beginnen. Sie können diese dann mit dem Befehl fetch verwenden, um die Dokumentationsbefehle im Terminal auszugeben.
Beispiele:
android docs search 'How do I improve my app performance?'android docs fetch kb://android/topic/performance/overview
emulator create
Verwendung:android emulator create [--list-profiles] [--profile=<profile-name>]
Beschreibung:Erstelle ein virtuelles Gerät.
Optionen:
--list-profiles– Liste der Geräteprofile, die zum Erstellen eines Geräts verwendet werden können.--profile=<profile-name>– Erstellt ein Gerät mit dem angegebenen Profil. Wenn dies nicht angegeben wird, wird das Profilmedium_phoneerstellt.
emulator list
Verwendung:android emulator list
Beschreibung:Liste der verfügbaren virtuellen Geräte.
emulator start
Verwendung:android emulator start <device-name>
Beschreibung:Das angegebene virtuelle Gerät wird gestartet.
Argumente (erforderlich):
<device-name>: Der Gerätename, der gestartet werden soll (z. B.medium_phone). Verwendeandroid emulator list, um die verfügbaren Geräte aufzurufen.
Beispiel:android emulator start medium_phone
emulator stop
Verwendung:android emulator stop <device-serial-number>
Beschreibung:Das angegebene virtuelle Gerät wird beendet.
Argumente (erforderlich):
<device-serial-number>– Die Seriennummer des Geräts, das gestoppt werden soll.
Beispiel:android emulator stop emulator-5554
info
Verwendung:android info
Beschreibung:Zeigt den Pfad zum verwendeten Standard-Android SDK an. Wenn Sie das verwendete Android SDK ändern möchten, verwenden Sie --sdk.
init
Verwendung:android init
Beschreibung:Richten Sie Ihre Umgebung für Agents ein, indem Sie den android-cli-Skill installieren.
layout
Verwendung:android layout [--pretty] [--output] [--diff]
Beschreibung:Gibt das UI-Layout der aktiven Android-App (verbunden über ein physisches Gerät oder einen Emulator) im JSON-Format zurück.
Optionen:
-p, --pretty: Formatiert die JSON-Ausgabe mit Einzügen und Zeilenumbrüchen, damit sie besser lesbar ist.-o, --output: Gibt einen Dateispeicherort zum Speichern des Layoutbaums an. Wenn diese Option nicht angegeben wird, wird das JSON direkt in stdout ausgegeben.-d, --diff: Gibt anstelle des vollständigen Layoutbaums eine Liste mit nur den Layout-Elementen zurück, die sich seit dem letzten internen Snapshot (dem letzten Layoutlauf) geändert haben.
Beispiel: android layout --output=./hierarchy.json
skills add
Android-Skills sind spezielle Anweisungen, die Agenten helfen, bestimmte Muster, die Best Practices und Richtlinien für die Android-Entwicklung folgen, besser zu verstehen und auszuführen. Weitere Informationen zu Android-Skills
Verwendung:android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]
Beschreibung:Installiert Android-Skills in den Skill-Verzeichnissen für alle erkannten Agents. Wenn Sie keine vorhandenen Agent-Verzeichnisse haben und keine bestimmten Agents angeben, werden die Skills für Gemini und Antigravity unter ~/.gemini/antigravity/skills installiert.
Optionen:
--all: Alle Android-Fähigkeiten auf einmal hinzufügen. Wenn es weggelassen wird (und--skillnicht angegeben ist), wird nur derandroid-cli-Skill installiert.--agent: Eine durch Kommas getrennte Liste von Agents, für die der Skill installiert werden soll. Wird dieser Parameter weggelassen, wird der Skill für alle erkannten Agents installiert.--skill: Der Name des Skills, den Sie installieren möchten. Wenn sie weggelassen wird (und--allnicht angegeben ist), wird nur derandroid-cli-Skill installiert.
Beispiel:android skills add --agent='gemini' edge-to-edge
skills find
Verwendung:android skills find <string>
Beschreibung:Findet Skills, die mit einem bestimmten String übereinstimmen.
Argumente (erforderlich):
string: String, der mit einer Skill-Beschreibung übereinstimmt.
Beispiel:android skills find 'performance'
skills list
Verwendung:android skills list [--long]
Beschreibung:Liste der verfügbaren Skills.
Optionen:
--long– Gib zusätzliche Informationen für jede Skill aus, einschließlich der Beschreibung des Skills und der Agents, für die er bereits installiert ist.
skills remove
Verwendung:android skills remove [--agent] --skill=<skill-name>
Beschreibung:Entfernen Sie eine Kompetenz. Wenn Sie keine bestimmten Kundenservicemitarbeiter angeben, wird der Skill für alle Kundenservicemitarbeiter entfernt.
Argumente (erforderlich):
--skill: Der Name der zu entfernenden Skill.
Optionen:
--agent: Eine durch Kommas getrennte Liste von Kundenservicemitarbeitern, aus denen die Skill entfernt werden soll. Wenn sie weggelassen wird, wird die Skill für alle Agents entfernt.
Beispiel:android skills remove --agent='gemini' --skill=edge-to-edge
screen capture
Verwendung:android screen capture [--output] [--annotate]
Beschreibung:Erstellt einen Screenshot des verbundenen Geräts.
Optionen:
-o, --output: Gibt einen Dateispeicherort zum Speichern des Screenshots an. Wird dieser Parameter weggelassen, werden die PNG-Rohdaten direkt in stdout ausgegeben.-a, --annotate: Zeichnet beschriftete Begrenzungsrahmen um alle im Bild erkannten UI-Elemente. Kann mit dem Befehlresolveverwendet werden.
Beispiel:android screen capture --output=ui.png
screen resolve
Verwendung:android screen resolve --screenshot=<path> --string=<string>
Beschreibung:Übersetzt die visuellen Labels aus einem mit screen capture aufgenommenen Screenshot mit Anmerkungen in tatsächliche Bildschirmkoordinaten (x, y).
Nützlich für das Scripting von Klicks auf Elemente, ohne deren Positionen manuell berechnen zu müssen.
Flags:
--screenshot: Der Pfad zum kommentierten Screenshot.--string: Ein String, der mindestens einen Platzhalter enthält, der einem Label für ein UI-Element im Format#<number>entspricht. Der Teil#<number>wird durch die Bildschirmkoordinaten ersetzt.
Beispiel:
Wenn sich das Label 5 an den Koordinaten (500, 1000) befindet, lautet der Befehl
android screen resolve --screenshot=ui.png --string="input tap #5"
gibt die Ausgabe zurück
input tap 500 1000
sdk install
Verwendung:android sdk install <package[@version]> [--beta] [--canary] [--force]
Beschreibung:Installiert die angegebenen SDK-Pakete.
Argumente (erforderlich):
package[@version]: Eine durch Leerzeichen getrennte Liste der zu installierenden Pakete. Wenn keine Version angegeben ist, wird die neueste Version des Pakets im Kanal (standardmäßig der stabile Kanal) installiert.
Optionen:
--beta– Betapakete einbeziehen.--canary: Canary-Pakete einbeziehen.--force: Erzwingt ein Downgrade auf eine ältere Version.
Beispiele:
android sdk install platforms/android-34 build-tools/34.0.0– Installieren Sie die neuesten Versionen der Pakete „Android SDK Platform 34“ und „SDK Built Tools 34.0.0“ aus dem stabilen Channel.android sdk install platforms/android-34@2– Installieren Sie Version 2 des Android SDK Platform 34-Pakets.android sdk install --canary system-images/android-35/google_apis/x86_6– Installieren Sie das aktuelle Android 35-Systemimage aus dem Canary-Channel.android sdk install --force platforms/android-33@1: Zurückkehren zur Version 1 des Android SDK Platform 33-Pakets aus dem Stable Channel.
sdk list
Verwendung:android sdk list <package-pattern>
Beschreibung:Listet die installierten und verfügbaren SDK-Pakete auf.
Argumente (erforderlich):
<package-pattern>: Pakete nach Muster filtern. Unterstützt reguläre Ausdrücke.
Optionen:
--all– Alle installierten und verfügbaren Pakete anzeigen.--all-versions: Alle Versionen für jedes Paket anzeigen.--beta– Betapakete einbeziehen.--canary: Canary-Pakete einbeziehen.
sdk remove
Verwendung:android sdk remove <package-name>
Beschreibung:Entfernen Sie ein Paket aus dem SDK.
Argumente (erforderlich):
<package-name>: Der Name des zu entfernenden Pakets.
Beispiel:android sdk remove build-tools/36.1.0
run
Verwendung:android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>
Beschreibung:Eine Android-App auf einem verbundenen Gerät oder Emulator bereitstellen. Es werden keine Build-Schritte ausgeführt. Sie müssen die Pfade zu den APK-Dateien angeben, die Sie installieren möchten.
Argumente (erforderlich):
--apks: Eine durch Kommas getrennte Liste mit Pfaden zu den APK-Dateien, die Sie installieren möchten. Der Pfad ist relativ zu Ihrem aktuellen Standort im Dateisystem.
Optionen:
--activity: Der Name der Aktivität, die nach der Installation des APK gestartet werden soll. Wenn es mehrere Aktivitäten gibt, müssen Sie eine Aktivität angeben, die zuerst gestartet werden soll.--debug– Stellt die App im Debug-Modus bereit. Nachdem Sie die App im Debug-Modus ausgeführt haben, müssen Sie Ihren Debugger über eine IDE wie Android Studio oder ein Befehlszeilentool verbinden, um mit dem Debugging zu beginnen.--device: Die Seriennummer des Zielgeräts oder Emulators. Nur erforderlich, wenn mehrere Geräte verbunden sind. Führen Sieadb devicesaus, um die Seriennummern der Geräte zu ermitteln.--type: Der Komponententyp, der gestartet werden soll. Verwenden Sie diese Option, wenn Sie einen Hintergrunddienst direkt starten möchten, anstatt eine UI-Aktivität. Unterstützte Typen:ACTIVITYWATCH_FACETILECOMPLICATIONDECLARATIVE_WATCH_FACE
Beispiele:
android run --apks=app/build/outputs/apk/debug/app-debug.apk– Stellt ein einzelnes APK auf dem Standardgerät bereit.android run --apks=base.apk,density-hdpi.apk,lang-en.apk– Stellt mehrere APKs auf dem Standardgerät bereit.android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService– Einen Dienst ohne Aktivität testen.android run --apks=app-debug.apk --device=emulator-5554: Stellt das APK auf einem bestimmten Gerät bereit.
sdk update
Verwendung:android sdk update [--beta] [--canary] [<package-name>]
Beschreibung:Aktualisieren Sie ein oder alle Pakete auf die neueste Version im Channel (standardmäßig der stabile Channel). Wenn Sie kein Paket angeben, werden alle Pakete aktualisiert.
Optionen:
<package-name>: Der Name des Pakets, das aktualisiert werden soll.--beta– Betapakete einbeziehen.--canary: Canary-Pakete einbeziehen.--force: Erzwingt ein Downgrade auf eine ältere Version.
Beispiele:
android sdk update: Hiermit wird nach Updates für alle Elemente in Ihrem SDK gesucht und diese werden installiert.android sdk update build-tools/34.0.0– Aktualisieren Sie das Android SDK Build Tools 34.0.0-Paket auf die neueste Version im stabilen Channel.android sdk update --canary platforms/android-35– Aktualisieren Sie das Android SDK Platforms 35-Paket auf die neueste Version im Canary-Channel.
update
Verwendung:android update
Beschreibung:Aktualisieren Sie die Android-Befehlszeile.
-V, --version
Beschreibung:Zeigt die aktuelle Version der Android-Befehlszeile an.