Для использования виртуальных устройств Android (AVD) эмулятор Android поддерживает графический интерфейс пользователя (GUI) и интерфейс командной строки (CLI). Вы выбираете оптимальный рабочий процесс для своей среды.
- Создание и управление виртуальными устройствами Графический интерфейс — это простой инструмент, предоставляемый большинству разработчиков приложений и пользователей.
- Запуск эмулятора из командной строки обеспечивает гибкий способ для опытных пользователей и автоматизации. Например, для использования нескольких AVD или для настройки непрерывного тестирования и непрерывной интеграции. Для начала просмотрите примеры в инструментах .
Соберите AOSP Car AVD
Процесс создания AOSP Car AVD аналогичен созданию образов AVD для телефона (например, aosp_car_x86_64 ):
- Чтобы настроить среду разработки и определить ветку, см. Инструменты управления версиями . Затем просмотрите Загрузка исходного кода :
ANDROID_BRANCH="android11-qpr2-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 aosp_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. Например, x86_64-vendor.mk включает x86_64-kernel.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
устройств в файле Automotive.xml. - Для разработки или прототипирования HMI в файл одного и того же образа AVD можно добавить несколько устройств.
- Включите файл в ZIP-файл образа OEM AVD в папку
[ABI]
. Например, какx86_64
. - Производители устройств также могут создать скин эмулятора . Например, чтобы определить дополнительные аппаратные кнопки для более точного UX. Это полезно не только для рабочих процессов разработчиков, но и для других задач, таких как исследование и обзор UX.
Создайте XML-файл образа AVD
Производители устройств могут создать XML-файл AVD Image для 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 надстройки 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
.