Interfejs wiersza poleceń Androida to interfejs wiersza poleceń, który umożliwia łatwiejsze i wydajniejsze tworzenie aplikacji na Androida za pomocą dowolnego narzędzia. Ujednolica on podstawowe kompetencje programistyczne w przypadku przepływów pracy opartych na agentach, zapewniając punkt wejścia do oficjalnych narzędzi, umiejętności i wiedzy potrzebnych do skuteczniejszego programowania. Może też usprawnić ciągłą integrację, konserwację i inne zautomatyzowane skrypty w związku z coraz bardziej rozproszonym charakterem programowania na Androida.
Na przykład agent lub skrypt może używać interfejsu wiersza poleceń do automatyzowania konfiguracji środowiska, tworzenia nowych projektów na podstawie szablonów i zarządzania urządzeniami wirtualnymi bezpośrednio z terminala. Zapewnia też agentom dostęp do umiejętności związanych z Androidem i specjalistycznej bazy wiedzy o Androidzie, co pomaga zapewnić, że projekty będą zgodne z zalecanymi wzorcami i sprawdzonymi metodami na Androidzie.
Instalowanie interfejsu wiersza poleceń Androida
Aby zainstalować interfejs wiersza poleceń Androida:
Aby mieć pewność, że używasz najnowszej wersji, zaktualizuj interfejs wiersza poleceń Androida:
android update
Aby sprawdzić, czy interfejs wiersza poleceń Androida jest już zainstalowany na Twoim komputerze, uruchom polecenie which android lub command -v android. Jeśli zwróci ścieżkę, oznacza to, że jest zainstalowany.
Konfigurowanie dla agentów
Aby pomóc agentom w zrozumieniu i używaniu interfejsu wiersza poleceń Androida, uruchom polecenie init, aby zainstalować umiejętność android-cli:
android init
Znane problemy
- Polecenie
android emulatordla systemu Windows jest obecnie wyłączone.
Jeśli napotkasz jakieś problemy lub chcesz przesłać opinię, proszę zgłoś błąd.
Konfigurowanie interfejsu wiersza poleceń Androida
Utwórz plik .androidrc, aby automatycznie stosować flagi i opcje za każdym razem, gdy wywołujesz interfejs wiersza poleceń Androida. Zapisz plik w tej lokalizacji w zależności od systemu operacyjnego:
- macOS i Linux:
~/.androidrc - Windows:
%USERPROFILE%\.androidrc
Dodaj do pliku flagi, które chcesz stosować automatycznie, po jednej w wierszu.
Aby na przykład interfejs wiersza poleceń Androida domyślnie używał określonego pakietu Android SDK
za każdym razem, dodaj do pliku flagę --sdk:
--sdk=<path-to-sdk>
Opcje globalne
Są to opcjonalne flagi, których możesz używać z innymi poleceniami interfejsu wiersza poleceń Androida.
-h, --help
Użycie: android <command> -h
Opis: wyświetla instrukcję obsługi narzędzia lub konkretnego polecenia.
Przykłady:
android -handroid create -h
--sdk
Użycie: android --sdk=<path-to-sdk> <command>
Opis: ścieżka do pakietu Android SDK, którego chcesz użyć w przypadku następującego polecenia. Możesz użyć ustawienia --sdk, aby tymczasowo zastąpić
domyślny pakiet Android SDK zamiast zmieniać swoje
globalne zmienne środowiskowe za każdym razem, gdy chcesz się
przełączyć. Aby sprawdzić, którego pakietu Android SDK używasz domyślnie, uruchom polecenie
android info.
Przykład: android --sdk=<path/to/sdk> sdk list
Polecenia
W tej sekcji znajdziesz listę wszystkich poleceń interfejsu wiersza poleceń Androida oraz ich opis.
Wszystkie te polecenia powinny być poprzedzone poleceniem android, np.
android create, android run, itp. Opcjonalne modyfikatory są ujęte w nawiasy kwadratowe [], a argumenty obowiązkowe nie.
create
Użycie: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
Opis: inicjuje nowy projekt na podstawie szablonu. Aby zobaczyć opcje szablonu, uruchom polecenie android create -h.
Argumenty (obowiązkowe):
-o, --output- ścieżka do katalogu docelowego projektu.
Opcje:
--dry-run- symuluje cały proces tworzenia projektu bez zapisywania plików. Możesz na przykład przeprowadzić uruchomienie próbne, aby zobaczyć, co robią różne szablony, zanim zdecydujesz się na jeden z nich.--verbose- włącza szczegółowe dane wyjściowe, w tym informacje o tym, które pliki są kopiowane z szablonu.--name=<application-name>- nazwa katalogu projektu. Jeśli zostanie pominięta, używany jest katalog wyjściowy.<template-name>- nazwa szablonu, na podstawie którego ma zostać utworzony nowy projekt. Jeśli zostanie pominięta, używana jest wartośćempty-activity-agp-9.
Przykład: android create --dry-run --verbose empty-activity-agp-9
create list
Użycie: android create list
Opis: wyświetla listę wszystkich dostępnych szablonów, na podstawie których można utworzyć nowy projekt.
describe
Użycie: android describe [--project_dir=<project-directory>]
Opis: analizuje projekt aplikacji na Androida, aby wygenerować opisowe metadane. To polecenie identyfikuje i wyświetla ścieżki do plików JSON, które zawierają szczegółowe informacje o strukturze projektu, w tym o celach kompilacji i odpowiadających im lokalizacjach artefaktów wyjściowych (np. plików APK). Te informacje umożliwiają innym narzędziom i poleceniom efektywne lokalizowanie artefaktów kompilacji.
Opcje:
--project_dir- katalog projektu do opisania. Jeśli zostanie pominięty, używany jest bieżący katalog.
Przykład: android describe --project_dir=/path/to/your/project
docs
Użycie:
android docs search <query>android docs fetch <kb-url>
Opis: polecenie android docs to dwuetapowy proces
uzyskiwania dostępu do bazy wiedzy o Androidzie bezpośrednio z interfejsu wiersza poleceń.
Najpierw wyszukaj dokumentację związaną z zapytaniem za pomocą polecenia search. Wyniki wyszukiwania będą zawierać specjalne adresy URL zaczynające się od kb://, których możesz użyć z poleceniem fetch, aby wyświetlić polecenia dokumentacji w terminalu.
Przykłady:
android docs search 'How do I improve my app performance?'android docs fetch kb://android/topic/performance/overview
emulator create
Użycie: android emulator create [--list-profiles] [--profile=<profile-name>]
Opis: tworzy urządzenie wirtualne.
Opcje:
--list-profiles- wyświetla listę profili urządzeń, których można użyć do utworzenia urządzenia.--profile=<profile-name>- tworzy urządzenie z określonym profilem. Jeśli zostanie pominięta, zostanie utworzony profilmedium_phone.
emulator list
Użycie: android emulator list
Opis: wyświetla listę dostępnych urządzeń wirtualnych.
emulator start
Użycie: android emulator start <device-name>
Opis: uruchamia określone urządzenie wirtualne.
Argumenty (obowiązkowe):
<device-name>- nazwa urządzenia do uruchomienia (np.medium_phone). Aby zobaczyć dostępne urządzenia, użyj poleceniaandroid emulator list.
Przykład: android emulator start medium_phone
emulator stop
Użycie: android emulator stop <device-serial-number>
Opis: zatrzymuje określone urządzenie wirtualne.
Argumenty (obowiązkowe):
<device-serial-number>- numer seryjny urządzenia, które ma zostać zatrzymane.
Przykład: android emulator stop emulator-5554
info
Użycie: android info
Opis: wyświetla ścieżkę do domyślnego pakietu Android SDK. Aby zmienić
używany pakiet Android SDK, użyj flagi --sdk.
init
Użycie: android init
Opis: konfiguruje środowisko dla agentów, instalując umiejętność android-cli.
layout
Użycie: android layout [--pretty] [--output] [--diff]
Opis: zwraca układ interfejsu aktywnej aplikacji na Androida (połączonej przez urządzenie fizyczne lub emulator) w formacie JSON.
Opcje:
-p, --pretty- formatuje dane wyjściowe JSON za pomocą wcięć i podziałów wierszy aby były czytelne dla człowieka.-o, --output- określa lokalizację pliku, w którym ma zostać zapisane drzewo układu. Jeśli zostanie pominięta, kod JSON zostanie wydrukowany bezpośrednio na standardowe wyjście.-d, --diff- zamiast pełnego drzewa układu zwraca listę tylko tych elementów układu, które uległy zmianie od czasu wykonania ostatniego wewnętrznego zrzutu (ostatniego uruchomienia układu ).
Przykład:: android layout --output=./hierarchy.json
skills add
Umiejętności Androida to specjalne instrukcje, które pomagają agentom lepiej rozumieć i wykonywać określone wzorce zgodne ze sprawdzonymi metodami i wskazówkami dotyczącymi programowania na Androida. Więcej informacji znajdziesz w artykule Wprowadzenie do umiejętności Androida.
Użycie: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]
Opis: instaluje umiejętności Androida w katalogach umiejętności wszystkich wykrytych agentów. Jeśli nie masz żadnych istniejących katalogów agentów i nie określisz konkretnych agentów, umiejętności zostaną zainstalowane w przypadku Gemini i Antigravity w katalogu ~/.gemini/antigravity/skills.
Opcje:
--all- dodaje wszystkie umiejętności Androida naraz. Jeśli zostanie pominięta (i nie zostanie określona flaga--skill), zostanie zainstalowana tylko umiejętnośćandroid-cli.--agent- lista agentów rozdzielona przecinkami, dla których ma zostać zainstalowana umiejętność. Jeśli zostanie pominięta, umiejętność zostanie zainstalowana dla wszystkich wykrytych agentów.--skill- nazwa umiejętności, którą chcesz zainstalować. Jeśli zostanie pominięta (i nie zostanie określona flaga--all), zostanie zainstalowana tylko umiejętnośćandroid-cli.
Przykład: android skills add --agent='gemini' edge-to-edge
skills find
Użycie: android skills find <string>
Opis: wyszukuje umiejętności pasujące do danego ciągu znaków.
Argumenty (obowiązkowe):
string- ciąg znaków pasujący do opisu umiejętności.
Przykład: android skills find 'performance'
skills list
Użycie: android skills list [--long]
Opis: wyświetla listę dostępnych umiejętności.
Opcje:
--long- wyświetla dodatkowe informacje o każdej umiejętności, w tym jej opis i listę agentów, dla których jest już zainstalowana.
skills remove
Użycie: android skills remove [--agent] --skill=<skill-name>
Opis: usuwa umiejętność. Jeśli nie określisz konkretnych agentów, umiejętność zostanie usunięta dla wszystkich agentów.
Argumenty (obowiązkowe):
--skill- nazwa umiejętności do usunięcia.
Opcje:
--agent- lista agentów rozdzielona przecinkami, z których ma zostać usunięta umiejętność. Jeśli zostanie pominięta, umiejętność zostanie usunięta dla wszystkich agentów.
Przykład: android skills remove --agent='gemini' --skill=edge-to-edge
screen capture
Użycie: android screen capture [--output] [--annotate]
Opis: robi zrzut ekranu połączonego urządzenia.
Opcje:
-o, --output- określa lokalizację pliku, w którym ma zostać zapisany zrzut ekranu. Jeśli zostanie pominięta, nieprzetworzone dane PNG zostaną wydrukowane bezpośrednio na standardowe wyjście.-a, --annotate- rysuje oznaczone ramki ograniczające wokół wszystkich elementów interfejsu wykrytych na obrazie, aby można było użyć poleceniaresolvecommand.
Przykład: android screen capture --output=ui.png
screen resolve
Użycie: android screen resolve --screenshot=<path> --string=<string>
Opis: tłumaczy etykiety wizualne z opisanego zrzutu ekranu, zrobionego za pomocą polecenia screen capture, na rzeczywiste współrzędne ekranu (x, y).
Przydatne do tworzenia skryptów kliknięć elementów bez konieczności ręcznego obliczania ich pozycji.
Flagi:
--screenshot- ścieżka do opisanego zrzutu ekranu.--string- ciąg znaków, który zawiera co najmniej 1 symbol zastępczy odpowiadający etykiecie elementu interfejsu w formacie#<number>. Część#<number>zostanie zastąpiona współrzędnymi ekranu.
Przykład:
Jeśli etykieta 5 znajduje się we współrzędnych (500, 1000), polecenie
android screen resolve --screenshot=ui.png --string="input tap #5"
zwraca dane wyjściowe
input tap 500 1000
sdk install
Użycie: android sdk install <package[@version]> [--beta] [--canary] [--force]
Opis: instaluje określone pakiety SDK.
Argumenty (obowiązkowe):
package[@version]- rozdzielona spacjami lista pakietów do zainstalowania. Jeśli nie podasz wersji, zostanie zainstalowana najnowsza wersja pakietu w kanale (domyślnie w kanale stabilnym).
Opcje:
--beta- uwzględnia pakiety beta.--canary- uwzględnia pakiety canary.--force- wymusza przejście na starszą wersję.
Przykłady:
android sdk install platforms/android-34 build-tools/34.0.0- instaluje najnowsze wersje pakietów Android SDK Platform 34 i SDK Built Tools 34.0.0 z kanału stabilnego.android sdk install platforms/android-34@2- instaluje wersję 2 pakietu Android SDK Platform 34.android sdk install --canary system-images/android-35/google_apis/x86_6- Instaluje najnowszą wersję obrazu systemu Android 35 z kanału canary.android sdk install --force platforms/android-33@1- przywraca wersję 1 pakietu Android SDK Platform 33 z kanału stabilnego.
sdk list
Użycie: android sdk list <package-pattern>
Opis: wyświetla listę zainstalowanych i dostępnych pakietów SDK.
Argumenty (obowiązkowe):
<package-pattern>- filtruje pakiety według wzorca. Obsługuje wyrażenia regularne.
Opcje:
--all- wyświetla wszystkie zainstalowane i dostępne pakiety.--all-versions- wyświetla wszystkie wersje każdego pakietu.--beta- uwzględnia pakiety beta.--canary- uwzględnia pakiety canary.
sdk remove
Użycie: android sdk remove <package-name>
Opis: usuwa pakiet z pakietu SDK.
Argumenty (obowiązkowe):
<package-name>- nazwa pakietu do usunięcia.
Przykład: android sdk remove build-tools/36.1.0
run
Użycie: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>
Opis: wdraża aplikację na Androida na połączonym urządzeniu lub emulatorze. Nie wykonuje żadnych czynności związanych z kompilacją. Musisz podać ścieżki do plików APK, które chcesz zainstalować.
Argumenty (obowiązkowe):
--apks- lista rozdzielona przecinkami ścieżek do plików APK, które chcesz zainstalować. Ścieżka jest względna w stosunku do bieżącej lokalizacji w systemie plików.
Opcje:
--activity- nazwa aktywności, która ma zostać uruchomiona po zainstalowaniu pakietu APK. Jeśli jest kilka aktywności, musisz określić jedną z nich, która ma zostać uruchomiona na początku.--debug- wdraża aplikację w trybie debugowania. Po uruchomieniu aplikacji w trybie debugowania musisz połączyć debugger ze środowiskiem IDE, takim jak Android Studio, lub narzędziem wiersza poleceń, aby rozpocząć debugowanie.--device- numer seryjny urządzenia docelowego lub emulatora. Jest to konieczne tylko wtedy, gdy połączonych jest kilka urządzeń. Aby znaleźć numery seryjne urządzeń, uruchom polecenieadb devices.--type- typ komponentu do uruchomienia. Użyj tej opcji, jeśli chcesz uruchomić usługę w tle bezpośrednio zamiast aktywności interfejsu. Obsługiwane typy:ACTIVITYWATCH_FACETILECOMPLICATIONDECLARATIVE_WATCH_FACE
Przykłady:
android run --apks=app/build/outputs/apk/debug/app-debug.apk- wdraża pojedynczy pakiet APK na urządzeniu domyślnym.android run --apks=base.apk,density-hdpi.apk,lang-en.apk- wdraża wiele pakietów APK na urządzeniu domyślnym.android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService- testuje usługę bez aktywności.android run --apks=app-debug.apk --device=emulator-5554- wdraża pakiet APK na określonym urządzeniu.
sdk update
Użycie: android sdk update [--beta] [--canary] [<package-name>]
Opis: aktualizuje jeden lub wszystkie pakiety do najnowszej wersji w kanale (domyślnie w kanale stabilnym). Jeśli nie określisz pakietu, zostaną zaktualizowane wszystkie pakiety.
Opcje:
<package-name>- nazwa pakietu do zaktualizowania.--beta- uwzględnia pakiety beta.--canary- uwzględnia pakiety canary.--force- wymusza przejście na starszą wersję.
Przykłady:
android sdk update- sprawdza i instaluje aktualizacje wszystkich elementów w pakiecie SDK.android sdk update build-tools/34.0.0- aktualizuje pakiet Android SDK Build Tools 34.0.0 do najnowszej wersji w kanale stabilnym.android sdk update --canary platforms/android-35- aktualizuje pakiet Android SDK Platforms 35 do najnowszej wersji w kanale canary.
update
Użycie: android update
Opis: aktualizuje interfejs wiersza poleceń Androida.
-V, --version
Opis: wyświetla bieżącą wersję interfejsu wiersza poleceń Androida.