С помощью Android Emulator можно создавать эмуляции устройств Android, использующих ваши собственные образы ОС Android. Кроме того, в эмуляции Android Emulator можно добавить поддержку нескольких дисплеев.
Архитектура эмулятора Android
Эмулятор Android запускает операционную систему Android на виртуальной машине, называемой виртуальным устройством Android (AVD). Каждое виртуальное устройство (AVD) содержит полный набор программного обеспечения Android и работает так, как если бы оно находилось на физическом устройстве. На рисунке 1 показана высокоуровневая архитектура эмулятора Android. Подробнее об эмуляторе см. в разделе Запуск приложений на эмуляторе Android .

Рисунок 1. Архитектура эмулятора Android.
Создание образов AVD
Каждый AVD включает образ системы Android, который запускается в этом AVD. Менеджер AVD включает в себя несколько образов системы. Вы также можете создавать собственные образы системы AVD из исходного кода и создавать эмуляции устройств для их запуска.
Чтобы создать и запустить образ системы AVD:
- Загрузите исходный код Android: - mkdir aosp-android-latest-release; cd aosp-android-latest-release- repo init -u- repo sync -j24
Если вы хотите собрать другие версии Android, названия их веток можно найти в публичном репозитории Android . Они соответствуют кодовым именам, тегам и номерам сборок Android .
- Создайте образ системы AVD. Это тот же процесс, что и для создания образа системы устройства Android . Например, чтобы создать 64-битный AVD x86: - source ./build/envsetup.sh- lunch sdk_phone_x86_64- make -j32
- Запустите образ системы 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-android-latest-release/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 Manager:
- Добавьте URL-адрес пользовательского сайта обновления как сайт обновления SDK . - Это добавит ваш пользовательский образ системы AVD на страницу «Системные образы». 
- Создайте AVD , загрузив и выбрав пользовательский образ системы AVD. 
Добавить поддержку нескольких дисплеев
В Android 10 улучшена поддержка нескольких дисплеев для большего количества вариантов использования, таких как автоматический режим и режим рабочего стола. 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
- Включите флаг функции Multi-Display, добавив следующую строку в файл - device/generic/goldfish/data/etc/advancedFeatures.ini:- MultiDisplay = on
Информацию о последних функциях эмулятора и выпусках можно найти в следующих источниках:
