Вы можете использовать Android Emulator для создания эмуляций устройств Android, на которых работают ваши собственные образы системы Android. Вы также можете поделиться своими собственными образами системы Android, чтобы другие люди могли запускать их эмуляцию. Кроме того, вы можете добавить поддержку нескольких дисплеев в эмуляции эмулятора Android.
Архитектура эмулятора Android
Android Emulator позволяет запускать эмуляцию устройств Android на компьютерах с Windows, macOS или Linux. Эмулятор Android запускает операционную систему Android на виртуальной машине, называемой виртуальным устройством Android (AVD). AVD содержит полный стек программного обеспечения Android и работает так, как если бы он находился на физическом устройстве. На рис. 1 представлена схема высокоуровневой архитектуры эмулятора Android. Дополнительные сведения об эмуляторе см. в разделе Запуск приложений на эмуляторе Android .
Рисунок 1. Архитектура эмулятора Android
Создание образов AVD
Каждый AVD включает в себя образ системы Android, который работает в этом AVD. AVD Manager включает в себя несколько образов системы. Вы также можете создавать собственные образы системы AVD из исходного кода и создавать эмуляции устройств для их запуска.
Чтобы создать и запустить образ системы AVD:
Загрузите исходный код Android:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
Если вы хотите собрать другие версии Android, вы можете найти названия их ветвей в общедоступном репозитории Android . Они соответствуют кодовым именам, тегам и номерам сборок Android .
Создайте образ системы AVD. Это тот же процесс, что и создание образа системы устройства Android . Например, чтобы собрать 32-битный AVD x86:
mkdir aosp-main; cd aosp-main
source ./build/envsetup.sh
lunch sdk_phone_x86
make -j32
Если вы предпочитаете собрать 64-битный AVD x86, запустите
lunch
для 64-битной цели:lunch sdk_phone_x86_64
Запустите образ системы AVD в эмуляторе Android:
emulator
Дополнительные сведения о запуске эмулятора см. в разделе «Параметры запуска командной строки» . На рис. 2 показан пример эмулятора Android, на котором работает AVD.
Рисунок 2. Эмулятор Android с AVD.
Делитесь образами системы AVD, чтобы другие могли использовать их с Android Studio.
Следуйте этим инструкциям, чтобы поделиться своими образами системы AVD с другими. Они могут использовать образы вашей системы AVD с Android Studio для разработки и тестирования приложений.
Создайте дополнительные пакеты
sdk
иsdk_repo
:Для Android 13 и выше используйте команду
emu_img_zip
:$ make emu_img_zip
При этом создается файл
sdk-repo-linux-system-images-eng.[username]].zip
.Для Android 12 и более ранних версий используйте команду
sdk_repo
:$ make -j32 sdk sdk_repo
Команда
make sdk sdk_repo
создает два файла в папкеaosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:-
sdk-repo-linux-system-images-eng.[username].zip
-
repo-sys-img.xml
-
Разместите файл
sdk-repo-linux-system-images-eng.[username].zip
где-нибудь, доступном для ваших пользователей, и получите его URL-адрес для использования в качестве URL-адреса образа системы AVD .Для Android 12 и более ранних версий отредактируйте
repo-sys-img.xml
соответствующим образом:- Обновите
<sdk:url>
до URL-адреса образа системы AVD . - См. sdk-sys-img-03.xsd, чтобы узнать о других обновлениях файла.
- Разместите
repo-sys-img.xml
в доступном для ваших пользователей месте и получите его URL-адрес для использования в качестве URL-адреса пользовательского сайта обновлений .
- Обновите
Чтобы использовать собственный образ AVD, выполните следующие действия в диспетчере SDK:
Добавьте URL-адрес пользовательского сайта обновлений в качестве сайта обновления SDK .
Это добавит ваш пользовательский образ системы AVD на страницу «Образы системы».
Создайте AVD , загрузив и выбрав собственный образ системы AVD.
Добавить поддержку нескольких дисплеев
В Android 10 улучшена поддержка нескольких дисплеев (MD) , чтобы лучше поддерживать больше вариантов использования, таких как автоматический режим и режим рабочего стола. Android Emulator также поддерживает эмуляцию нескольких дисплеев. Таким образом, вы можете создать особую среду с несколькими дисплеями без установки реального оборудования.
Вы можете добавить поддержку нескольких дисплеев в AVD, внеся следующие изменения или выбрав из этих CL .
Добавьте в сборку поставщика нескольких дисплеев, добавив эти строки в файл
build/target/product/sdk_phone_x86.mk
:PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \ system/lib/libemulator_multidisplay_jni.so \ system/lib64/libemulator_multidisplay_jni.so \ system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \ PRODUCT_PACKAGES += MultiDisplayProvider
Включите флаг функции нескольких дисплеев, добавив эту строку в файл
device/generic/goldfish/data/etc/advancedFeatures.ini
:MultiDisplay = on
Вы можете найти новейшие функции эмулятора и информацию о выпусках из следующих источников: