Для использования Android Virtual Devices (AVD) Android Emulator поддерживает графический пользовательский интерфейс (GUI) и интерфейс командной строки (CLI). Вы выбираете оптимальный рабочий процесс для своей среды.
- Графический интерфейс для создания и управления виртуальными устройствами — это простой инструмент, доступный большинству разработчиков и пользователей приложений.
- Запустите эмулятор из командной строки, обеспечивает гибкий способ для энергетических пользователей и автоматизации. Например, использовать несколько AVD или для настройки непрерывного тестирования и непрерывной интеграции. Чтобы начать, см. Примеры в инструментах ).
Запустите AOSP Car AVD с использованием готовых
Для быстрого запуска и тестирования с использованием предварительно собранного AOSP Car AVD используйте скрипт с открытым исходным кодом для загрузки и запуска сборки эмулятора с ci.android.com
. Скрипт был протестирован на macOS и Linux.
Для использования этого скрипта вам понадобится Curl .
Чтобы запустить скрипт:
- Скопируйте содержимое скрипта
launch_emu.sh
в локальный файл, предполагая, что вы используетеlaunch_emu.sh
в качестве имени локального файла. - Сделайте свой локальный скрипт исполняемым. Например, запустите
chmod +x ./launch_emu.sh
. - Проверьте доступные параметры, запустив скрипт с помощью
./launch_emu.sh -h
. - На
ci.android.com
перейдите в филиалaosp-main-throttled
и выберите недавнюю сборку, в которойsdk_car_x86_64
зеленый. Например, 11370359. Если вы не видите информацию об сборке, войдите из своей учетной записи Google и попробуйте еще раз. - Загрузите и установите соответствующие эмулятору двоичные файлы с идентификатором сборки. Например,
./launch_emu.sh -i -a 11370359
. - После этого вы можете использовать
./launch_emu.sh
для запуска загруженного и установленного эмулятора (не используйте параметры-i
или-a
). - Чтобы загрузить и установить другой идентификатор сборки, запустите
./launch_emu.sh -c
чтобы очистить рабочее пространство, а затем повторите шаги 4 и 5, описанные выше.
Чтобы указать параметры запуска командной строки эмулятора Android при запуске эмулятора, используйте параметр -v
. Например:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
Постройте автомобильный AVD AOSP
Процесс создания 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
. - Создайте файл сборки продукта
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. Например,
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
. - Для разработки или создания прототипов HMI в файл одного и того же образа AVD можно добавить несколько устройств.
- Включите файл в zip-файл образа OEM AVD в папке
[ABI]
. Например, какx86_64
. - Производители устройств также могут создать кожу эмулятора . Например, чтобы определить дополнительные аппаратные кнопки для более высокой верности UX. Это полезно не только для рабочих процессов разработчиков, но и для других задач, таких как UX Research и Review.
Создайте 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
AVD Image SDK Add-On URL-формат: 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 by 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
.