Android CLI — это интерфейс командной строки, который позволяет проще и эффективнее собирать приложения для Android, используя любой инструмент по вашему выбору. Он стандартизирует основные компетенции разработчиков для рабочих процессов, ориентированных на агенты, предоставляя точку входа к официальным инструментам, навыкам и знаниям, необходимым для более эффективной разработки. Он также может оптимизировать CI, сопровождение и любую другую автоматизацию на основе скриптов в условиях все более распределенной разработки Android.
Например, агент или скрипт могут использовать CLI для автоматизации настройки среды, создания новых проектов на основе шаблонов и управления виртуальными устройствами непосредственно с вашего терминала. Это также предоставляет вашим агентам доступ к навыкам Android и специализированной базе знаний Android , что помогает гарантировать, что ваши проекты соответствуют рекомендуемым Android шаблонам и передовым практикам.
Установите Android CLI.
Для установки Android CLI выполните следующие действия:
Чтобы убедиться, что вы используете последнюю версию, обновите Android CLI:
android update
Чтобы проверить, установлен ли Android CLI на вашем компьютере, выполните команду which android или command -v android : если она вернет путь, значит, он установлен.
Настройка для агентов
Чтобы помочь агентам понять и использовать Android CLI, запустите init для установки навыка android-cli :
android init
Известные проблемы
- Команда
android emulatorдля Windows в настоящее время отключена.
Глобальные опции
Это необязательные флаги, которые можно использовать с другими командами командной строки Android.
-h, --help
Использование: android <command> -h
Описание: Отображает справочное руководство по инструменту или конкретной команде.
Примеры:
-
android -h -
android create -h
--sdk
Использование: android --sdk=<path-to-sdk> <command>
Описание: Путь к Android SDK, который вы хотите использовать для последующей команды. Вы можете использовать параметр --sdk , чтобы временно переопределить Android SDK по умолчанию, вместо того чтобы каждый раз изменять глобальные переменные среды при переключении. Чтобы проверить, какой Android SDK используется по умолчанию, выполните команду android info .
Пример: android --sdk=<path/to/sdk> sdk list
Команды
В этом разделе перечислены все команды Android CLI и описано их назначение. Все эти команды должны начинаться с префикса android , например android create , android run и так далее. Необязательные модификаторы заключаются в квадратные скобки [] , а обязательные аргументы — нет.
create
Использование: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
Описание: Инициализация нового проекта на основе шаблона. Чтобы просмотреть параметры шаблона, выполните команду android create -h .`.
Аргументы (обязательные):
-
-o, --output- Путь к целевому каталогу проекта.
Параметры:
-
--dry-run- Имитирует весь процесс создания проекта без фактического сохранения каких-либо файлов. Например, вы можете выполнить пробный запуск, чтобы посмотреть, как работают различные шаблоны, прежде чем выбрать один из них. -
--verbose- Включает подробный вывод информации, в том числе о том, какие файлы копируются из шаблона. -
--name=<application-name>- Название каталога проекта. Если не указано, используется выходной каталог. -
<template-name>- Название шаблона, на основе которого будет создан новый проект. Если оно опущено, используетсяempty-activity-agp-9.
Пример: android create --dry-run --verbose empty-activity-agp-9
create list
Использование: android create list
Описание: Список всех доступных шаблонов для создания нового проекта.
describe
Использование: android describe [--project_dir=<project-directory>]
Описание: Анализирует проект Android для генерации описательных метаданных. Эта команда определяет и выводит пути к JSON-файлам, подробно описывающим структуру проекта, включая цели сборки и соответствующие места расположения выходных артефактов (например, APK-файлов). Эта информация позволяет другим инструментам и командам эффективно находить артефакты сборки.
Параметры:
-
--project_dir- Каталог проекта для описания. Если опущено, используется текущий каталог.
Пример: android describe --project_dir=/path/to/your/project
docs
Применение:
-
android docs search <query> -
android docs fetch <kb-url>
Описание: Команда ` android docs — это двухэтапный процесс доступа к базе знаний Android непосредственно из командной строки. Сначала выполните поиск документации, связанной с вашим запросом, используя команду search . Результаты поиска будут включать специальные URL-адреса, начинающиеся с kb:// , которые затем можно использовать с командой fetch для вывода команд документации в терминал.
Примеры:
-
android docs search 'How do I improve my app performance?' -
android docs fetch kb://android/topic/performance/overview
emulator create
Использование: android emulator create [--list-profiles] [--profile=<profile-name>]
Описание: Создание виртуального устройства.
Параметры:
-
--list-profiles- Отображает список профилей устройств, которые можно использовать для создания устройства. -
--profile=<profile-name>- Создать устройство с указанным профилем. Если этот параметр опущен, будет создан профильmedium_phone.
emulator list
Использование: android emulator list
Описание: Отображает список доступных виртуальных устройств.
emulator start
Использование: android emulator start <device-name>
Описание: Запуск указанного виртуального устройства.
Аргументы (обязательные):
-
<device-name>- Название устройства для запуска (например,medium_phone). Используйтеandroid emulator list, чтобы увидеть доступные устройства.
Пример: android emulator start medium_phone
emulator stop
Использование: android emulator stop <device-serial-number>
Описание: Остановить указанное виртуальное устройство.
Аргументы (обязательные):
-
<device-serial-number>- Серийный номер устройства, которое нужно остановить.
Пример: android emulator stop emulator-5554
info
Использование: android info
Описание: Отображает путь к используемому по умолчанию Android SDK. Чтобы изменить используемый Android SDK, используйте --sdk .
init
Использование: android init
Описание: Настройте среду для агентов, установив навык android-cli .
layout
Использование: android layout [--pretty] [--output] [--diff]
Описание: Возвращает макет пользовательского интерфейса активного приложения Android (подключенного через физическое устройство или эмулятор) в формате JSON.
Параметры:
-
-p, --pretty- Форматирует вывод JSON с отступами и переносами строк для удобства чтения человеком. -
-o, --output- Указывает местоположение файла для сохранения дерева компоновки. Если не указано, JSON-данные выводятся непосредственно в стандартный поток вывода. -
-d, --diff- Возвращает список только тех элементов макета, которые изменились с момента создания последнего внутреннего снимка (последнего запуска функции компоновки), вместо полного дерева макета.
Пример: ` android layout --output=./hierarchy.json
skills add
Навыки Android — это специальные инструкции, разработанные для того, чтобы помочь агентам лучше понимать и выполнять определенные шаблоны, соответствующие передовым методам и рекомендациям по разработке под Android. Для получения дополнительной информации см. раздел «Введение в навыки Android» .
Использование: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]
Описание: Устанавливает навыки Android в каталоги навыков для всех обнаруженных агентов. Если у вас нет существующих каталогов агентов и вы не указываете конкретных агентов, навыки для Gemini и Antigravity будут установлены в ~/.gemini/antigravity/skills .
Параметры:
-
--all- Добавить все навыки Android одновременно. Если этот параметр опущен (и не указан параметр--skill), будет установлен только навыкandroid-cli. -
--agent- Список агентов, для которых нужно установить навык, разделенных запятыми. Если этот параметр опущен, навык будет установлен для всех обнаруженных агентов. -
--skill- Название навыка, который вы хотите установить. Если оно опущено (и не указано--all), будет установлен только навыкandroid-cli.
Пример: android skills add --agent='gemini' edge-to-edge
skills find
Использование: android skills find <string>
Описание: Найти навыки, соответствующие заданной строке.
Аргументы (обязательные):
-
string— Строка, соответствующая описанию навыка.
Пример: команда android skills find 'performance'
skills list
Использование: android skills list [--long]
Описание: Перечислите доступные навыки.
Параметры:
-
--long- Вывести дополнительную информацию для каждого навыка, включая описание навыка и для каких агентов он уже установлен.
skills remove
Использование: android skills remove [--agent] --skill=<skill-name>
Описание: Удаление навыка. Если вы не укажете конкретных агентов, навык будет удален для всех агентов.
Аргументы (обязательные):
-
--skill- Название навыка, который нужно удалить.
Параметры:
-
--agent- Список агентов, разделенных запятыми, для которых нужно удалить навык. Если этот параметр опущен, навык будет удален для всех агентов.
Пример: android skills remove --agent='gemini' --skill=edge-to-edge
screen capture
Использование: android screen capture [--output] [--annotate]
Описание: Делает снимок экрана подключенного устройства.
Параметры:
-
-o, --output- Указывает местоположение файла для сохранения снимка экрана. Если этот параметр опущен, необработанные данные PNG будут выведены непосредственно в стандартный поток вывода. -
-a, --annotate- Рисует ограничивающие рамки с подписями вокруг всех элементов пользовательского интерфейса, обнаруженных на изображении, для использования с командойresolve.
Пример: android screen capture --output=ui.png
screen resolve
Использование: android screen resolve --screenshot=<path> --string=<string>
Описание: Преобразует визуальные метки с аннотированного скриншота, полученного с помощью screen capture , в фактические координаты экрана (x, y). Полезно для создания скриптов для обработки кликов по элементам без необходимости вручную вычислять их положение.
Флаги:
-
--screenshot- Путь к скриншоту с аннотацией. -
--string- Строка, содержащая как минимум один заполнитель, соответствующий метке элемента пользовательского интерфейса в формате#<number>. Часть#<number>будет заменена экранными координатами.
Пример:
Если метка 5 находится в координатах (500, 1000), то команда
android screen resolve --screenshot=ui.png --string="input tap #5"
возвращает результат
input tap 500 1000
sdk install
Использование: android sdk install <package[@version]> [--beta] [--canary] [--force]
Описание: Установить указанный(е) пакет(ы) SDK.
Аргументы (обязательные):
-
package[@version]— Список пакетов для установки, разделённых пробелами. Если версия не указана, устанавливается последняя версия пакета из канала (по умолчанию — стабильный канал).
Параметры:
-
--beta- Включить бета-версии пакетов. -
--canary- Включить тестовые пакеты. -
--force- Принудительное возвращение к более старой версии.
Примеры:
-
android sdk install platforms/android-34 build-tools/34.0.0- Установите последние версии пакетов Android SDK Platform 34 и SDK Built Tools 34.0.0 из стабильного канала. -
android sdk install platforms/android-34@2- Установка версии 2 пакета Android SDK Platform 34. -
android sdk install --canary system-images/android-35/google_apis/x86_6- Установите последнюю версию образа системы Android 35 из канала canary. -
android sdk install --force platforms/android-33@1- Возврат к версии 1 пакета Android SDK Platform 33 из стабильного канала.
sdk list
Использование: android sdk list <package-pattern>
Описание: Список установленных и доступных пакетов SDK.
Аргументы (обязательные):
-
<package-pattern>- Фильтрация пакетов по шаблону. Поддерживает регулярные выражения.
Параметры:
-
--all- Показать все установленные и доступные пакеты. -
--all-versions- Показать все версии для каждого пакета. -
--beta- Включить бета-версии пакетов. -
--canary- Включить тестовые пакеты.
sdk remove
Использование: android sdk remove <package-name>
Описание: Удаление пакета из SDK.
Аргументы (обязательные):
-
<package-name>- Название пакета для удаления.
Пример: android sdk remove build-tools/36.1.0
run
Использование: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>
Описание: Развертывание Android-приложения на подключенном устройстве или эмуляторе. Сборка не выполняется; необходимо указать пути к APK-файлам, которые вы хотите установить.
Аргументы (обязательные):
-
--apks- Список путей к APK-файлам, которые вы хотите установить, разделенных запятыми. Путь указывается относительно текущего местоположения в файловой системе.
Параметры:
-
--activity- Название активности , которая будет запущена после установки APK-файла. Если активностей несколько, необходимо указать одну для первоначального запуска. -
--debug- Развертывает приложение в режиме отладки . После запуска приложения в режиме отладки необходимо подключить отладчик из IDE, например Android Studio, или из инструмента командной строки, чтобы начать отладку. -
--device- Серийный номер целевого устройства или эмулятора. Требуется только при подключении нескольких устройств. Чтобы узнать серийные номера устройств, выполните командуadb devices. -
--type- Тип компонента для запуска. Используйте это, если хотите запустить фоновую службу напрямую, а не активность пользовательского интерфейса. Поддерживаемые типы:-
ACTIVITY -
WATCH_FACE -
TILE -
COMPLICATION -
DECLARATIVE_WATCH_FACE
-
Примеры:
-
android run --apks=app/build/outputs/apk/debug/app-debug.apk- Развертывает один APK-файл на устройстве по умолчанию. -
android run --apks=base.apk,density-hdpi.apk,lang-en.apkразвертывает несколько APK-файлов на устройстве по умолчанию. -
android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService- Тестирование службы без активности. -
android run --apks=app-debug.apk --device=emulator-5554- Развертывает APK-файл на конкретном устройстве.
sdk update
Использование: android sdk update [--beta] [--canary] [<package-name>]
Описание: Обновляет один или все пакеты до последней версии в канале (по умолчанию — стабильный канал). Если вы не укажете пакет, будут обновлены все пакеты.
Параметры:
-
<package-name>- Название пакета для обновления. -
--beta- Включить бета-версии пакетов. -
--canary- Включить тестовые пакеты. -
--force- Принудительное возвращение к более старой версии.
Примеры:
-
android sdk update— проверка наличия и установка обновлений для всех компонентов вашего SDK. -
android sdk update build-tools/34.0.0- Обновите пакет Android SDK Build Tools 34.0.0 до последней версии из стабильного канала. -
android sdk update --canary platforms/android-35- Обновите пакет Android SDK Platforms 35 до последней версии в канале canary.
update
Использование: android update
Описание: Обновить интерфейс командной строки Android.
-V, --version
Описание: Отображает текущую версию Android CLI.