Для использования виртуальных устройств Android (AVD) эмулятор Android поддерживает графический пользовательский интерфейс (GUI) и интерфейс командной строки (CLI). Вы выбираете оптимальный рабочий процесс для вашей среды.
- Графический интерфейс для создания и управления виртуальными устройствами — это простой инструмент, предоставляемый большинству разработчиков и пользователей приложений.
- Запуск эмулятора из командной строки предоставляет гибкие возможности для опытных пользователей и автоматизации. Например, для использования нескольких AVD или для настройки непрерывного тестирования и непрерывной интеграции. Для начала работы см. примеры в разделе «Инструменты ».
Создайте AVD для автомобиля на основе AOSP.
Процесс создания образа AVD для AOSP Car аналогичен процессу создания образов AVD для телефона (например, aosp_car_x86_64):
- Чтобы настроить среду разработки и определить ветку, см. раздел «Инструменты контроля версий» , а затем прочтите раздел «Загрузка исходного кода Android» :
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. - Создайте файл makefile для продукта,
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/
- Замените исполняемый файл ядра в кодовой базе в соответствии с makefile 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 |
| common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
| Ядро | kernel/common/android11-5.4 |
Создать новый профиль устройства
Чтобы пользователи могли создавать определенные виртуальные устройства AVD в Android Studio AVD Manager, см. раздел «Создание и управление виртуальными устройствами» . Производители устройств могут определять собственные аппаратные характеристики, например, размер экрана и DPI, с помощью файла devices.xml , входящего в образ AVD.
- Например, см. профили автомобильных устройств в
automotive.xml. - При разработке человеко-машинного интерфейса или создании прототипов в файл для одного и того же образа AVD можно добавить несколько устройств.
- Включите файл из архива образа OEM AVD в папку
[ABI]. Например, какx86_64. - Производители устройств также могут создавать скины для эмуляторов . Например, для определения дополнительных аппаратных кнопок для более качественного пользовательского интерфейса. Это полезно не только для рабочих процессов разработчиков, но и для других задач, таких как исследование и анализ пользовательского опыта.
Создайте XML-файл образа AVD.
Производители устройств могут создать XML-файл образа AVD для загрузки в Android Studio.
- Например, см. XML-файл образа AVD AAOS,
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-файла (примеры 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-адреса дополнения AVD Image SDK выглядит следующим образом: 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.