Die Android-Befehlszeile ist eine Befehlszeilenschnittstelle, mit der Sie Android-Apps einfacher und effizienter mit einem Tool Ihrer Wahl entwickeln können. Sie standardisiert die wichtigsten Entwicklungskompetenzen für Agent-First-Workflows und bietet einen Einstiegspunkt zu den offiziellen Tools, Skills und dem Wissen, das Sie für eine effektivere Entwicklung benötigen. Außerdem kann sie die CI, die Wartung und jede andere skriptgesteuerte Automatisierung für die zunehmend verteilte Natur der Android-Entwicklung optimieren.
Ein Agent oder ein Skript kann beispielsweise die Befehlszeile 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 Agents Zugriff auf Android-Skills und die spezielle Android-Wissensdatenbank, damit Ihre Projekte die von Android empfohlenen Muster und Best Practices anwenden.
Android-Befehlszeile installieren
So installieren Sie die Android-Befehlszeile:
Aktualisieren Sie die Android-Befehlszeile, um sicherzustellen, dass Sie die neueste Version 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.
Für Agents einrichten
Damit Agents die Android-Befehlszeile verstehen und verwenden können, führen Sie init aus, um den Skill android-cli zu installieren:
android init
Bekannte Probleme
- Der Befehl
android emulatorfür Windows ist derzeit deaktiviert.
Wenn Probleme auftreten oder Sie Feedback geben möchten, melden Sie bitte einen Fehler.
Android-Befehlszeile konfigurieren
Erstellen Sie eine .androidrc-Datei, um Flags und Optionen automatisch anzuwenden, wenn Sie die Android-Befehlszeile aufrufen. Speichern Sie die Datei je nach Betriebssystem an folgendem Speicherort:
- macOS und Linux:
~/.androidrc - Windows:
%USERPROFILE%\.androidrc
Fügen Sie der Datei die Flags hinzu, die automatisch angewendet werden sollen, eines pro Zeile.
Wenn die Android-Befehlszeile beispielsweise jedes Mal standardmäßig ein bestimmtes Android SDK verwenden soll
, fügen Sie der Datei das Flag --sdk hinzu:
--sdk=<path-to-sdk>
Globale Optionen
Dies sind optionale Flags, die Sie mit anderen Befehlen der Android-Befehlszeile verwenden können.
-h, --help
Verwendung: android <command> -h
Beschreibung:Zeigt das Hilfshandbuch für das Tool oder den jeweiligen 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 Ihre
globalen Umgebungsvariablen zu ändern, wenn Sie wechseln möchten. 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 Befehle der Android-Befehlszeile aufgeführt und ihre Funktionen beschrieben.
Allen diesen Befehlen muss android vorangestellt werden, z. B.
android create, android run, usw. Optionale Modifikatoren sind in Klammern [] eingeschlossen, obligatorische Argumente nicht.
create
Verwendung: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
Beschreibung:Initialisiert ein neues Projekt aus einer Vorlage. Führen Sie android create -h aus, um die Vorlagenoptionen aufzurufen.
Argumente (obligatorisch) :
-o, --output- Der Pfad zum Zielprojektverzeichnis.
Optionen :
--dry-run- Simuliert den gesamten Projekterstellungsprozess, ohne tatsächlich Dateien zu speichern. Sie können beispielsweise einen Probelauf durchführen, um zu sehen, was die verschiedenen Vorlagen tun, 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:Listet alle verfügbaren Vorlagen auf, aus denen ein neues Projekt erstellt werden kann.
describe
Verwendung: android describe [--project_dir=<project-directory>]
Beschreibung:Analysiert ein Android-Projekt, um beschreibende Metadaten zu generieren. Dieser Befehl identifiziert und gibt die Pfade zu JSON-Dateien aus, in denen die Struktur des Projekts beschrieben wird, einschließlich Build-Zielen und den entsprechenden Speicherorten der Ausgabeartefakte (z. B. APK-Dateien). Mit diesen 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 Befehlszeile.
Suchen Sie zuerst mit dem Befehl search nach Dokumentation zu Ihrer Abfrage. Die Suchergebnisse enthalten spezielle URLs, die mit kb:// beginnen. Sie können sie 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:Erstellt ein virtuelles Gerät.
Optionen :
--list-profiles- Listet die Geräteprofile auf, die zum Erstellen eines Geräts verwendet werden können.--profile=<profile-name>- Erstellt ein Gerät mit dem angegebenen Profil. Wenn nichts angegeben ist, wird das Profilmedium_phoneerstellt.
emulator list
Verwendung:android emulator list
Beschreibung:Listet die verfügbaren virtuellen Geräte auf.
emulator start
Verwendung: android emulator start <device-name>
Beschreibung:Startet das angegebene virtuelle Gerät.
Argumente (obligatorisch) :
<device-name>– Der Name des zu startenden Geräts (z. B.medium_phone). Verwenden Sieandroid 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:Beendet das angegebene virtuelle Gerät.
Argumente (obligatorisch) :
<device-serial-number>- Die Seriennummer des zu beendenden Geräts.
Beispiel:android emulator stop emulator-5554
info
Verwendung:android info
Beschreibung:Zeigt den Pfad zum verwendeten Standard-Android SDK an. Verwenden Sie --sdk, um
das verwendete Android SDK zu ändern.
init
Verwendung:android init
Beschreibung:Richten Sie Ihre Umgebung für Agents ein, indem Sie den Skill android-cli 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 Einrückungen und Zeilenumbrüchen um sie lesbarer zu machen.-o, --output- Gibt einen Dateispeicherort an, an dem die Layoutstruktur gespeichert werden soll. Wenn nichts angegeben ist, wird das JSON direkt in die Standardausgabe geschrieben.-d, --diff- Gibt anstelle der vollständigen Layoutstruktur nur eine Liste der Layout-Elemente zurück, die sich seit der letzten internen Momentaufnahme (der letzten Ausführung von „layout“) geändert haben.
Beispiel:: android layout --output=./hierarchy.json
skills add
Android-Skills sind spezielle Anweisungen, mit denen Agents bestimmte Muster besser verstehen und ausführen können, die Best Practices und Richtlinien für die Android-Entwicklung folgen. Weitere Informationen finden Sie unter Einführung in 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- Fügt alle Android-Skills gleichzeitig hinzu. Wenn nichts angegeben ist (und--skillnicht angegeben ist), wird nur der Skillandroid-cliinstalliert.--agent- Eine durch Kommas getrennte Liste der Agents, für die der Skill installiert werden soll. Wenn nichts angegeben ist, wird der Skill für alle erkannten Agents installiert.--skill- Der Name des Skills, den Sie installieren möchten. Wenn nichts angegeben ist (und--allnicht angegeben ist), wird nur der Skillandroid-cliinstalliert.
Beispiel: android skills add --agent='gemini' edge-to-edge
skills find
Verwendung: android skills find <string>
Beschreibung:Sucht nach Skills, die mit einem bestimmten String übereinstimmen.
Argumente (obligatorisch) :
string- String, der mit einer Skill-Beschreibung übereinstimmt.
Beispiel: android skills find 'performance'
skills list
Verwendung:android skills list [--long]
Beschreibung:Listet die verfügbaren Skills auf.
Optionen :
--long- Gibt zusätzliche Informationen für jeden 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:Entfernt einen Skill. Wenn Sie keine bestimmten Agents angeben, wird der Skill für alle Agents entfernt.
Argumente (obligatorisch) :
--skill- Der Name des zu entfernenden Skills.
Optionen :
--agent- Eine durch Kommas getrennte Liste der Agents, von denen der Skill entfernt werden soll. Wenn nichts angegeben ist, wird der 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 an, an dem der Screenshot gespeichert werden soll. Wenn nichts angegeben ist, werden die Roh-PNG-Daten direkt in die Standardausgabe geschrieben.-a, --annotate- Zeichnet beschriftete Begrenzungsrahmen um alle UI-Elemente die im Bild erkannt wurden, zur Verwendung mit demresolveBefehl.
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 erstellten Screenshot mit Anmerkungen in tatsächliche Bildschirmkoordinaten (x, y).
Nützlich für das Skripten von Klicks auf Elemente, ohne ihre Positionen manuell berechnen zu müssen.
Flags :
--screenshot- Der Pfad zum Screenshot mit Anmerkungen.--string- Ein String, der mindestens einen Platzhalter enthält, der einem UI-Elementlabel im Format#<number>entspricht. Der#<number>Teil wird durch die Bildschirmkoordinaten ersetzt.
Beispiel :
Wenn sich das Label 5 an den Koordinaten (500, 1000) befindet, gibt der Befehl
android screen resolve --screenshot=ui.png --string="input tap #5"
die folgende 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 (obligatorisch) :
package[@version]- Eine durch Leerzeichen getrennte Liste der zu installierenden Pakete. Wenn keine Version angegeben ist, wird die neueste Version des Pakets im Channel (standardmäßig der stabile Channel) installiert.
Optionen :
--beta- Bezieht Betapakete ein.--canary- Bezieht Canary-Pakete ein.--force- Erzwingt ein Downgrade auf eine ältere Version.
Beispiele :
android sdk install platforms/android-34 build-tools/34.0.0- Installiert 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- Installiert Version 2 des Pakets „ Android SDK Platform 34“.android sdk install --canary system-images/android-35/google_apis/x86_6- Installiert die neueste Version des Android 35-System-Images aus dem Canary Channel.android sdk install --force platforms/android-33@1- Setzt Version 1 des Pakets „Android SDK Platform 33“ aus dem stabilen Channel wieder ein.
sdk list
Verwendung: android sdk list <package-pattern>
Beschreibung:Listet die installierten und verfügbaren SDK-Pakete auf.
Argumente (obligatorisch) :
<package-pattern>- Filtert Pakete nach einem Muster. Unterstützt reguläre Ausdrücke.
Optionen :
--all- Zeigt alle installierten und verfügbaren Pakete an.--all-versions- Zeigt alle Versionen für jedes Paket an.--beta- Bezieht Betapakete ein.--canary- Bezieht Canary-Pakete ein.
sdk remove
Verwendung: android sdk remove <package-name>
Beschreibung:Entfernt ein Paket aus dem SDK.
Argumente (obligatorisch) :
<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:Stellt eine Android-App auf einem verbundenen Gerät oder Emulator bereit. Es werden keine Build-Schritte ausgeführt. Sie müssen die Pfade zu den APK-Dateien angeben, die Sie installieren möchten.
Argumente (obligatorisch) :
--apks- Eine durch Kommas getrennte Liste der Pfade zu den APK-Dateien, die Sie installieren möchten. Der Pfad ist relativ zu Ihrer aktuellen Position im Dateisystem.
Optionen :
--activity- Der Name der Aktivität, die nach der Installation des APK gestartet werden soll. Wenn mehrere Aktivitäten vorhanden sind, 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 den Debugger verbinden ü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 zu startende Komponententyp. Verwenden Sie diese Option, wenn Sie direkt einen Hintergrunddienst anstelle einer UI-Aktivität starten möchten. 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- Testet einen Dienst ohne Aktivität.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:Aktualisiert 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 zu aktualisierenden Pakets.--beta- Bezieht Betapakete ein.--canary- Bezieht Canary-Pakete ein.--force- Erzwingt ein Downgrade auf eine ältere Version.
Beispiele :
android sdk update- Sucht nach Updates für alle Elemente im SDK und installiert sie.android sdk update build-tools/34.0.0- Aktualisiert das Paket „Android SDK Build Tools 34.0.0“ auf die neueste Version im stabilen Channel.android sdk update --canary platforms/android-35- Aktualisiert das Paket „Android SDK Platforms 35“ auf die neueste Version im Canary-Channel.
update
Verwendung:android update
Beschreibung:Aktualisiert die Android-Befehlszeile.
-V, --version
Beschreibung:Zeigt die aktuelle Version der Android-Befehlszeile an.