Übersicht über die Android-Befehlszeile

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:

  1. Android-Befehlszeile herunterladen

  2. 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 emulator fü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 -h
  • android 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, wird empty-activity-agp-9 verwendet.

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 Profil medium_phone erstellt.

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). Verwende android 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 --skill nicht angegeben ist), wird nur der android-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 --all nicht angegeben ist), wird nur der android-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 Befehl resolve verwendet 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 Sie adb devices aus, 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:
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_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.