Для использования виртуальных устройств Android (AVD) эмулятор Android поддерживает графический интерфейс пользователя (GUI) и интерфейс командной строки (CLI). Вы можете выбрать оптимальный рабочий процесс для вашей среды.
- Графический интерфейс для создания и управления виртуальными устройствами — это простой инструмент, предоставляемый большинству разработчиков и пользователей приложений.
- Запуск эмулятора из командной строки обеспечивает гибкие возможности для опытных пользователей и автоматизации. Например, для использования нескольких AVD или настройки непрерывного тестирования и непрерывной интеграции. Чтобы начать работу, см. примеры в разделе « Инструменты ».
Постройте автомобиль AOSP AVD
Процесс создания AVD для автомобиля AOSP аналогичен созданию образов AVD для телефона (например, aosp_car_x86_64):
- Чтобы настроить среду разработки и определить ветку, см. раздел «Инструменты управления исходным кодом» . Затем ознакомьтесь с разделом «Загрузка исходного кода ».
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - Создайте образ AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- Запустите образ AVD (при необходимости добавьте дополнительные параметры запуска командной строки ):
emulator &
Например:
Рисунок 1. Экран виртуального эмулятора Android
Примечания к этому процессу:
- Поскольку процесс сборки аналогичен процессу сборки Android для физического устройства, выделите некоторое время на загрузку исходного кода, а затем на его сборку.
- Для работы с другими ветвями установите
$ANDROID_BRANCH
на другую ветвь/тег . - Образы AVD, такие как
system.img
, создаются в$ANDROID_PRODUCT_OUT
. Подробнее о ключевых образах см. в разделе Системный каталог AVD . - Ознакомьтесь с файлом README , чтобы узнать, как готовые двоичные файлы эмулятора в вашем дереве Android используются для запуска эмулятора.
Создать автомобильный AVD
Добавление нового AVD автомобиля практически идентично добавлению нового устройства . Например, 1660554 создаёт новый AVD avd_car
.
Чтобы создать автомобильный AVD:
- Создайте компанию и папку устройства по мере необходимости. В этом примере используется
$ANDROID_BUILD_TOP/device/google_car/avd_car
. - Создайте make-файл продукта
avd_car.mk
, который определяет, как собрать AVD. - Создайте папку устройства
avd_car_device
, в которой будут находитьсяBoardConfig.mk
иsource.properties
. - Добавьте новый
makefile
и новый выборlunch
вAndroidProducts.mk
. - Чтобы собрать и запустить новый AVD
avd_car
:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Упакуйте zip-файл образа AVD
Вы можете упаковать свой образ AVD и поделиться им с другими или использовать его на другом компьютере. Используйте emu_img_zip.mk
для создания zip-файла образа AVD:
- После сборки AVD сделайте
emu_img_zip
целью:m emu_img_zip
- ZIP-файл образа AVD с префиксом
sdk-repo-linux-system-images
создается в папке с именем$ANDROID_PRODUCT_OUT
.
Сборка ядра AVD
Ядра AVD, как и другие ядра Android, представляют собой готовые образы. Обычно вы можете использовать стандартные готовые образы ядра Goldfish из каждой версии Android.
Чтобы поэкспериментировать с изменениями ядра:
- Выполните следующую последовательность инструкций:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- Замените двоичный файл ядра в кодовой базе в соответствии с make-файлом AVD. Например,
device/generic/goldfish/board/emu64x/details.mk
включаетdevice/generic/goldfish/board/kernel/x86_64.mk
.
Код ядра и конфигурация расположены следующим образом:
Элемент | Ценить |
---|---|
Ветвь | common-android11-5.4 (используется в Android 11) |
Манифест | kernel/manifest/common-android11-5.4 |
общие-модули/виртуальное-устройство | kernel/common-modules/virtual-device/android11-5.4 |
Ядро | kernel/common/android11-5.4 |
Создать новый профиль устройства
Чтобы предоставить пользователям возможность создавать определённые виртуальные устройства (AVD) в Android Studio AVD Manager, см . раздел Создание и управление виртуальными устройствами . Производители устройств могут определять собственные аппаратные характеристики, такие как размер экрана и разрешение (DPI), с помощью файла devices.xml
, включённого в образ AVD.
- Например, см. профили автомобильных устройств в
automotive.xml
. - Для разработки или создания прототипа HMI в файл для одного и того же образа AVD можно добавить несколько устройств.
- Добавьте файл в zip-архив образа OEM AVD в папке
[ABI]
. Например, какx86_64
. - Производители устройств также могут создать скин для эмулятора . Например, чтобы определить дополнительные аппаратные кнопки для более качественного пользовательского опыта. Это полезно не только для рабочих процессов разработчиков, но и для других задач, таких как исследование и анализ пользовательского опыта.
Создайте XML-файл образа AVD
Производители устройств могут создать XML-файл образа AVD для загрузки в Android Studio.
- Например, см. XML-файл образа AAOS AVD,
sys-img2-1.xml
. - Производители устройств могут определить собственное лицензионное соглашение OEM AVD для своих целевых пользователей (используя систему чести) с лицензией на эмулятор Android. При включении такой лицензии Android Studio получает согласие пользователя.
Чтобы создать изображение:
- Подготовьте zip-файл образа AVD.
- Распакуйте
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - Добавьте файл
devices.xml
в папкуx86_64
и заархивируйте его в zip-архив. Например, какoem_avd_img_x86_64.zip
. - Обновить
oem-sys-img2-1.xml
. - Обновите имя zip-файла, размер и shasum (примеры XML-файлов приведены в
tools
).
Например, чтобы разместить AVD в Google Cloud Storage , см. раздел Создание контейнеров хранения .
Чтобы загрузить и сделать AVD общедоступным, см. раздел «Публикация данных» :
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
Формат URL-адреса для дополнения SDK образа AVD выглядит следующим образом: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
. Например, если BUCKET_NAME — aaos-avd, URL-адрес будет следующим: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
Поделитесь образом AVD с пользователями Android Studio
Чтобы ваши пользователи могли загружать образы AVD и использовать ваш AVD от Android Studio, вы можете предоставить XML-файл надстройки SDK. Подробнее см. в разделе Обновление IDE и инструментов SDK .
Чтобы загрузить AVD из сети:
- Разместите zip-файл изображения и XML-файлы на сервере.
- Предоставьте URL-адрес вашим целевым пользователям.
- ( Необязательно ) Ограничьте доступ по имени пользователя и паролю.
В качестве альтернативы, чтобы ускорить разработку, загрузите AVD в локальный каталог:
- Сохраните XML-файлы и все артефакты, указанные в XML-файле, в папке (например, все zip-файлы образов AVD) с именем
ADDON_DIR
. - Укажите URL-адрес в виде
file://$ADDON_DIR/oem-sys-img2-1.xml
.