ADT
Aurora Debug Tool (ADT) — это консольная утилита для отладки, тестирования и управления устройствами и эмуляторами под управлением ОС Аврора.
Примечание. При первом запуске ADT на macOS система будет запрашивать разрешение на чтение каждого файла и библиотеки в директории. Чтобы вручную не подтверждать запуск каждого компонента, можно выполнить команду:
xattr -dr com.apple.quarantine <path_to_standalone_emulator_directory>
где path_to_standalone_emulator_directory — путь к директории эмулятора.
В результате все инструменты ADT и эмулятора будут запускаться без дополнительных действий со стороны пользователя.
Системные требования:
- Операционная система: Linux, macOS Intel, macOS ARM, Windows 10/11.
- ОЗУ: минимум 2 ГБ (рекомендуется 4 ГБ).
- Диск: минимум 100 МБ свободного места.
Содержание:
- Команды для работы с ADT
- Работа с физическими и виртуальными устройствами
- Вывод списка устройств
- Выполнение команды на устройстве
- Выбор устройства по умолчанию
- Развёртывание RPM-пакетов на устройстве
- Отмена развёртывания RPM-пакетов на устройстве
- Копирование файлов или директорий
- Добавление нового устройства
- Получение статуса устройства
- Удаление устройства
- Управление приложениями на устройстве
- Работа с эмуляторами
- Работа с физическими и виртуальными устройствами
Команды для работы с ADT
Если устройство зарегистрировано, то его можно указать по ID или имени с помощью опций -d, --device.
Регистрировать можно физические устройства и эмуляторы.
Если устройство не зарегистрировано и не находится в списке известных устройств adt (т.е. анонимно),
то его можно указать с помощью опций --ip, --port и --ssh-key.
Опция --ssh-key предназначена для случаев, когда на устройстве уже присутствует
публичная часть SSH-ключа. Разработчику достаточно указать путь к файлу приватного ключа.
Большинство команд группы adt device поддерживают такой подход к указанию устройства. Команды группы adt emulator не поддерживают анонимные устройства и используются только для эмуляторов.
Управление физическими и виртуальными устройствами
Команда adt device предоставляет подкоманды для управления физическими
и виртуальными устройствами на базе ОС Аврора.
Вывод списка устройств
adt device list [ОПЦИИ]
Выводит список зарегистрированных устройств. Для всех устройств команда выводит их порядковый номер в списке. Для эмуляторов выводится IP и SSH-порт, для физических устройств — IP и архитектуру.
Опции:
-eили--emulators-only— выводит только эмуляторы. Несовместима с опцией-E.-Eили--no-emulators— выводит только физические устройства. Несовместима с опцией-e.
Примеры:
-
Вывод всех устройств:
$ adt device list #0 emulator ip: localhost ssh_port: 2223 #1 device ip: 192.168.2.15 arch: armv7hl -
Вывод только эмуляторов:
$ adt device list --emulators-only #0 emulator ip: localhost ssh_port: 2223 -
Вывод только физических устройств:
$ adt device list --no-emulators #1 device ip: 192.168.2.15 arch: armv7hl
Выполнение команды на устройстве
adt device exec [ОПЦИИ] [[--] КОМАНДА]
Выполняет команду на выбранном устройстве.
Необязательный разделитель -- можно использовать, чтобы отделить ОПЦИИ от аргументов КОМАНДЫ,
гарантируя их точную передачу.
Если в качестве устройства выбран эмулятор, то он должен быть запущен.
Позиционные аргументы:
КОМАНДА— команда для выполнения (включая её аргументы). ЕслиКОМАНДАне указана, на устройстве запускается интерактивная оболочка.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя устройства для использования. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE. Несовместима с опциями--ip,--portи--ssh-key.--ip IP_УСТРОЙСТВА— IP устройства для подключения. Используется вместе с опцией--port. Исключает использование опции--device.--port ПОРТ_УСТРОЙСТВА— порт устройства для подключения. По умолчанию имеет значение22. Используется вместе с опцией--ip. Несовместима с опцией--device.--ssh-key SSH_КЛЮЧ— путь к файлу приватного SSH-ключа хоста. Используется вместе с опциями--ipи--port. Несовместима с опцией--device. Применяется, когда на устройстве уже присутствует публичная часть ключа, поэтому достаточно указать только приватный ключ.-t— принудительно выделяет псевдотерминал.
Примеры:
-
Выполнение команды на устройстве по умолчанию:
adt device exec ls -la -
Выполнение команды на устройстве из списка устройств:
adt device exec -d "emulator AuroraOS-5.2.0" -- ls -la -
Выполнение команды на неизвестном устройстве, заданном параметрами:
adt device exec --ip 192.168.2.15 --port 2222 --ssh-key ~/.ssh/id_rsa -- ls -la -
Запуск интерактивной оболочки:
adt device exec -
Принудительное выделение псевдотерминала:
adt device exec -d 0 -t -- vi file.txt
Выбор устройства по умолчанию
adt device select [ОПЦИИ] ID_УСТРОЙСТВА|ИМЯ_УСТРОЙСТВА
Устанавливает устройство по умолчанию для команд ADT. Устройство по умолчанию может быть указано либо по его ID, либо по имени.
Позиционные аргументы:
ID_УСТРОЙСТВАилиИМЯ_УСТРОЙСТВА— идентификатор или имя устройства, которое нужно установить в качестве устройства по умолчанию. Этот аргумент обязателен.
Пример:
-
Выбор устройства по умолчанию:
adt device select "Mashtab T1"
Развёртывание RPM-пакетов на устройстве
adt device deploy [ОПЦИИ] [--] ПАКЕТ [ПАКЕТ...]
Развёртывает один или несколько пакетов на устройстве.
Позиционные аргументы:
ПАКЕТ— имя установленного пакета.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя устройства для использования. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE. Несовместима с опциями--ip,--portи--ssh-key.--ip IP_УСТРОЙСТВА— IP устройства для подключения. Используется вместе с опцией--port. Исключает использование опции--device.--port ПОРТ_УСТРОЙСТВА— порт устройства для подключения. По умолчанию имеет значение22. Используется вместе с опцией--ip. Несовместима с опцией--device.--ssh-key SSH_КЛЮЧ— ssh-ключ устройства для подключения. Путь к ssh-ключу хоста. Используется вместе с опциями--ipи--port. Несовместима с опцией--device. Применяется, когда на устройстве уже присутствует публичная часть ключа, поэтому достаточно указать только приватный ключ.--ignore-debug— не развёртывать пакеты с отладочными символами;-nили--dry-run— выполнить пробный запуск без фактического развёртывания пакетов;--silent— тихое развёртывание. Не требует подтверждения на устройстве.-kили--keep-user-data— сохранить пользовательские данные при повторном развёртывании.
Примечание. Переданные флаги установки применяются ко всем пакетам, перечисленным в команде.
Примеры:
-
Развёртывание одного пакета на устройстве по умолчанию:
adt device deploy ru.bestcompany.Application-0.1-1.aarch64.rpm -
Развёртывание нескольких пакетов на устройстве из списка устройств:
adt device deploy --device "Mashtab T1" ru.bestcompany.ApplicationA-0.1-1.aarch64.rpm \ ru.bestcompany.ApplicationB-0.1-1.aarch64.rpm \ ru.bestcompany.ApplicationC-0.1-1.aarch64.rpm -
Развёртывание нескольких пакетов на неизвестном устройстве, заданном параметрами:
adt device deploy --ip 192.168.2.15 --port 22 --ssh-key ~/.ssh/rsa ru.bestcompany.Application-0.1-1.aarch64.rpm
Отмена развёртывания RPM-пакетов на устройстве
adt device undeploy [ОПЦИИ] [--] ПАКЕТ [ПАКЕТ...]
Отменяет развёртывание одного или нескольких пакетов на устройстве.
ПАКЕТ — валидный RPM-файл.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя устройства для использования. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE. Несовместима с опциями--ip,--portи--ssh-key.--ip IP_УСТРОЙСТВА— IP устройства для подключения. Используется вместе с опцией--port. Исключает использование опции--device.--port ПОРТ_УСТРОЙСТВА— порт устройства для подключения. По умолчанию имеет значение22. Используется вместе с опцией--ip. Несовместима с опцией--device.--ssh-key SSH_КЛЮЧ— ssh-ключ устройства для подключения. Путь к ssh-ключу хоста. Используется вместе с опциями--ipи--port. Несовместима с опцией--device. Применяется, когда на устройстве уже присутствует публичная часть ключа, поэтому достаточно указать только приватный ключ.
Примеры:
-
Отмена развёртывания одного пакета на устройстве по умолчанию:
adt device undeploy ru.bestcompany.Application -
Отмена развёртывания нескольких пакетов на устройстве из списка устройств:
adt device undeploy --device "Mashtab T1" ru.bestcompany.ApplicationA \ ru.bestcompany.ApplicationB \ ru.bestcompany.ApplicationC -
Отмена развёртывания пакета на неизвестном устройстве, заданном параметрами:
adt device undeploy --ip 192.168.2.15 --port 22 --ssh-key ~/.ssh/rsa ru.bestcompany.Application
Копирование файлов или директорий
adt device cp ИСТОЧНИК УСТРОЙСТВО:НАЗНАЧЕНИЕ
adt device cp УСТРОЙСТВО:ИСТОЧНИК НАЗНАЧЕНИЕ
Копирует файлы или директории между хостом и устройством.
Источник и назначение указываются либо как локальный путь, либо как путь на устройстве в
формате УСТРОЙСТВО:ПУТЬ.
Позиционные аргументы:
ИСТОЧНИК— исходный путь на хосте для копирования на устройство;НАЗНАЧЕНИЕ— путь назначения на хосте для копирования с устройства;УСТРОЙСТВО:НАЗНАЧЕНИЕ— путь назначения на устройстве;УСТРОЙСТВО:ИСТОЧНИК— исходный путь на устройстве.
Если путь на устройстве не начинается с /, то путь считается относительным к /home/defaultuser.
Примеры:
-
Копирование локального файла на устройство:
adt device cp file.txt "emulator AuroraOS-5.2.0":file.txt -
Копирование директории с устройства по его ID на хост:
adt device cp 0:Pictures/ ./emulator-pictures
Добавление нового устройства
adt device add [ОПЦИИ] ИМЯ IP_АДРЕС
Добавляет устройство в конфигурацию. Устройство идентифицируется по его имени и IPv4 адресу. Дополнительные параметры позволяют указать SSH-ключ для подключения.
Опции:
--username— имя пользователя для входа. По умолчанию имеет значениеdefaultuser.--ssh-key ФАЙЛ— путь к файлу приватного SSH-ключа для аутентификации. Если приватный ключ не указан, команда предложит сгенерировать новую ключевую пару, после чего развернёт публичный ключ. При генерации ключа потребуется ввести пароль. Применяется, когда на устройстве уже присутствует публичная часть ключа, поэтому достаточно указать только приватный ключ.
Позиционные аргументы:
ИМЯ— имя устройства. Этот аргумент обязателен.IP_АДРЕС— IPv4 адрес устройства. Этот аргумент обязателен.
Примеры:
-
Добавление устройства:
adt device add "Mashtab T1" 192.168.2.15 -
Добавление неизвестного устройства, заданного параметрами:
adt device add "Mashtab T1" 192.168.2.15 --username admin --ssh-key ~/.ssh/id_rsa
Получение статуса устройства
adt device status [ОПЦИИ]
Показывает статус устройства. По умолчанию используется текущее устройство.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя устройства для использования. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE. Несовместима с опциями--ip,--portи--ssh-key.--ip IP_УСТРОЙСТВА— IP устройства для подключения. Используется вместе с опцией--port. Исключает использование опции--device.--port ПОРТ_УСТРОЙСТВА— порт устройства для подключения. По умолчанию имеет значение22. Используется вместе с опцией--ip. Несовместима с опцией--device.--ssh-key SSH_КЛЮЧ— ssh-ключ устройства для подключения. Путь к ssh-ключу хоста. Используется вместе с опциями--ipи--port. Несовместима с опцией--device. Применяется, когда на устройстве уже присутствует публичная часть ключа, поэтому достаточно указать только приватный ключ.
Примеры:
-
Показать статус устройства по умолчанию:
$ adt device status emulator AuroraOS-5.2.0 is running -
Показать статус неизвестного устройства, заданного параметрами:
$ adt device status --ip 192.168.2.15 --port 22 --ssh-key ~/.ssh/rsa my-device is connected
Удаление устройства
adt device rm [ОПЦИИ] ИМЯ
Удаляет устройство из списка зарегистрированных устройств.
Позиционные аргументы:
ИМЯ— имя устройства. Значение должно быть уникальным среди всех известных устройств. Этот аргумент обязателен.
Пример:
-
Удаление устройства:
adt device rm "Mashtab T1"
Управление приложениями на устройстве
adt device app [ОПЦИИ] КОМАНДА [АРГУМЕНТЫ...]
Управляет запуском и жизненным циклом приложений на устройстве. Предоставляет подкоманды для вывода списка, запуска, остановки и отладки приложений.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя устройства для использования. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE. Несовместима с опциями--ip,--portи--ssh-key.--ip IP_УСТРОЙСТВА— IP устройства для подключения. Используется вместе с опцией--port. Исключает использование опции--device.--port ПОРТ_УСТРОЙСТВА— порт устройства для подключения. По умолчанию имеет значение22. Используется вместе с опцией--ip. Несовместима с опцией--device.--ssh-key SSH_КЛЮЧ— ssh-ключ устройства для подключения. Путь к ssh-ключу хоста. Используется вместе с опциями--ipи--port. Несовместима с опцией--device. Применяется, когда на устройстве уже присутствует публичная часть ключа, поэтому достаточно указать только приватный ключ.
Подкоманды:
list— выводит список приложений на запущенном выбранном устройстве.start [--nosandbox] ИМЯ_ПРИЛОЖЕНИЯ— запускает приложение, установленное на выбранном устройстве.ИМЯ_ПРИЛОЖЕНИЯявляется обязательным аргументом. По умолчанию приложение запускается в песочнице. Следует использовать--nosandboxдля запуска приложения вне песочницы. Блокирует запуск других команд до выхода из приложения. Чтобы выйти из приложения, необходимо нажать комбинацию клавиш "Ctrl + C".stop ИМЯ_ПРИЛОЖЕНИЯ— останавливает приложение, работающее на выбранном устройстве.ИМЯ_ПРИЛОЖЕНИЯявляется обязательным аргументом.debug [--nosandbox] ИМЯ_ПРИЛОЖЕНИЯ— запускает приложение под управлением gdbserver в режиме ожидания подключения отладчика GDB. Приложение должно быть установлено на выбранном устройстве. В выводе будет напечатан порт подключения к серверу отладки (для эмулятора диапазон портов 20000–20019, для устройств — 10000-10100).ИМЯ_ПРИЛОЖЕНИЯявляется обязательным аргументом. По умолчанию приложение запускается в песочнице. Следует использовать--nosandboxдля запуска приложения вне песочницы.
Примеры:
-
Вывод запущенных приложений:
$ adt device app -d mashtab-t1 list Running applications: 3 Instance Id: ru.auroraos.UiComponentGallery PID: 3183 Start reason: Manual State: Inactive Details: Uris Instance Id: ru.omp.browserpwa PID: 12669 Start reason: Manual State: Inactive Details: Uris Instance Id: ru.omp.camera PID: 3254 Start reason: Manual State: Inactive Details: Uris Running services: 0 -
Запуск приложения на устройстве по умолчанию:
adt device app start ru.bestcompany.Application -
Остановка приложения на устройстве по умолчанию:
adt device app stop ru.bestcompany.Application -
Отладка приложения:
adt device app --device "emulator AuroraOS-5.2.0" debug ru.bestcompany.Application -
Запуск приложения на неизвестном устройстве, заданном параметрами:
adt device app --ip 192.168.2.15 --port 22 --ssh-key ~/.ssh/rsa start ru.aurora.foobar
Работа с эмуляторами
adt emulator предоставляет подкоманды для управления эмуляторами.
Примечание. Данные команды работают только на эмуляторе QEMU.
Запуск эмулятора
adt emulator start [ОПЦИИ]
Запускает эмулятор. Эмулятор может быть выбран по его ID или имени. Поддерживает опции для выбора устройства, запуска в headless-режиме, подключения виртуального внешнего дисплея или установки пользовательского SSH-порта.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя эмулятора. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE.--headless— запуск в headless-режиме (без графического интерфейса). Взаимоисключающая опция с--external-display.--ssh-port ПОРТ_УСТРОЙСТВА— порт для SSH-подключения. Допустимый диапазон: 1-65535. По умолчанию: 2223. После установки порт используется для последующих запусков.--external-display [РАЗРЕШЕНИЕ]— подключить виртуальный внешний дисплей.РАЗРЕШЕНИЕдолжно быть указано в формате<ширина>x<высота>. Значение по умолчанию: 960x540. Несовместима с опцией--headless.
Примеры:
-
Запуск эмулятора с настройками по умолчанию:
adt emulator start -
Запуск эмулятора с виртуальным внешним дисплеем:
adt emulator start --device "emulator AuroraOS-5.2.0" --external-display
Остановка эмулятора
adt emulator stop [ОПЦИИ]
Останавливает эмулятор. Эмулятор может быть выбран по его ID или имени.
Опции:
-d УСТРОЙСТВОили--device УСТРОЙСТВО— ID или имя эмулятора. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE.
Пример:
-
Остановка эмулятора:
adt emulator stop --device "emulator AuroraOS-5.2.0"
Управление конфигурацией эмулятора
adt emulator config [ОПЦИИ] {list|get|set} [АРГУМЕНТЫ...]
Управляет конфигурацией эмулятора. Предоставляет подкоманды для вывода списка редактируемых свойств, получения значений свойств и установки новых значений.
Опции:
-dили--device УСТРОЙСТВО— ID или имя эмулятора. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE.
Подкоманды:
-
list— выводит список редактируемых свойств эмулятора. Если устройство указано, то его текущая модель будет отмечена. Не требует дополнительных аргументов. -
set СВОЙСТВО ЗНАЧЕНИЕ— устанавливает дляСВОЙСТВАуказанноеЗНАЧЕНИЕ.-
СВОЙСТВО— свойство эмулятора, которое будет изменено. Ниже представлен полный список свойств:Свойство Описание Допустимые значения mac Конфигурация MAC-адреса Строка в формате XX:XX:XX:XX:XX:XXcpus Количество ядер CPU Положительное целое число memory Выделенная память (в мегабайтах) Положительное целое число ssh_port Порт для SSH-подключения Допустимый номер сетевого порта downscale Масштабирование дисплея Целое число: 1 или 2 orientation Ориентация экрана portrait(книжная)landscape(альбомная)inverted_portrait(перевернутая книжная)inverted_landscape(перевернутая альбомная)external_keyboard Поддержка внешней клавиатуры Логическое значение: on (вкл) или off (выкл) point_mode Режим работы указывающего устройства touchscreen(сенсорный экран)mouse(мышь)acceleration Аппаратное ускорение Логическое значение: on (вкл) или off (выкл) -
ЗНАЧЕНИЕ— значение, которое может принимать свойство.
Статусы завершения:
0— конфигурация успешно обновилась;1— некорректноеСВОЙСТВОилиЗНАЧЕНИЕ.
-
-
get СВОЙСТВО— получает текущее значение указанногоСВОЙСТВА.
Примеры:
-
Вывод свойств, доступных для изменения:
$ adt emulator config list Available properties to modify: mac cpus memory ssh_port downscale orientation external_keyboard -
Установка MAC-адреса:
adt emulator config set mac 00:11:22:33:44:55 -
Конфигурация ядер процессора:
adt emulator config -d emulator-2 set cpus 4 -
Выделение памяти:
adt emulator config set memory 2048 -
Изменение ориентации устройства:
adt emulator config set orientation landscape
Управление моделями эмулятора
adt emulator device-model [ОПЦИИ] {list|set МОДЕЛЬ}
Управляет моделями эмулятора. Вывод списка доступных моделей эмулятора и изменение текущей модели эмулятора.
Опции:
-dили--device УСТРОЙСТВО— ID или имя эмулятора. Также может быть задано через переменную окруженияADT_DEFAULT_DEVICE.
Подкоманды:
list— выводит доступные модели эмулятора для выбранного устройства эмулятора;set ИМЯ_МОДЕЛИ— изменяет модель эмулятора на указанноеИМЯ_МОДЕЛИ.ИМЯ_МОДЕЛИявляется обязательным аргументом и должно быть одной из моделей, перечисленных в подкомандеlist.
Примеры:
-
Вывод списка доступных моделей эмулятора:
$ adt emulator device-model list All device models list for emulator: Name: Mashtab TrustPhone T1 - screen resolution 720x1600, screen size 68x152 mm Name: Aquarius NS M11 - screen resolution 1080x2400, screen size 69x155 mm Name: Aquarius NS M12 - screen resolution 1080x2400, screen size 69x155 mm -
Вывод списка доступных моделей при указанном эмуляторе (символом "*" отмечается текущая модель):
$ adt emulator device-model --device emulator-5.2.0.180 list * Name: Mashtab TrustPhone T1 - screen resolution 720x1600, screen size 68x152 mm Name: Aquarius NS M11 - screen resolution 1080x2400, screen size 69x155 mm Name: Aquarius NS M12 - screen resolution 1080x2400, screen size 69x155 mm -
Изменение на конкретную модель эмулятора:
$ adt emulator device-model -d "emulator AuroraOS-5.2.0" set phone Emulator "emulator AuroraOS-5.2.0.130" set device model phone
Добавление эмулятора
adt emulator add [ОПЦИИ] ИМЯ ПУТЬ
Регистрирует эмулятор в список устройств. Эмулятор идентифицируется по его имени и пути к директории эмулятора.
Позиционные аргументы:
-
ИМЯ— имя эмулятора. Значение должно быть уникальным среди всех известных устройств. Этот аргумент обязателен. -
ПУТЬ— путь к директории эмулятора. Должен быть валидной директорией. Этот аргумент обязателен.
Пример:
-
Добавление эмулятора:
adt emulator add emulator-1 /home/user/AuroraOS/emulators/5.2.0.180/DefaultEmulator
Удаление эмулятора
adt emulator rm [ОПЦИИ] ИМЯ
Удаляет эмулятор из списка зарегистрированных устройств.
Позиционные аргументы:
ИМЯ— имя эмулятора. Значение должно быть уникальным среди всех известных устройств. Этот аргумент обязателен.
Пример:
-
Удаление эмулятора:
adt emulator rm "emulator AuroraOS-5.2.0.130"