Как настроить аппаратное ускорение для эмулятора Android

Эмулятор работает лучше, если он может использовать аппаратное обеспечение вашего компьютера, например ЦП, графический процессор и модем, а не только программное обеспечение. Возможность использовать аппаратное обеспечение компьютера для повышения производительности называется аппаратным ускорением.

Эмулятор может использовать аппаратное ускорение, чтобы улучшить работу двумя основными способами:

  • Ускорение обработки графики для улучшения отрисовки экрана
  • Ускорение виртуальной машины для повышения скорости выполнения.

На большинстве компьютеров аппаратное ускорение включено по умолчанию. Если на вашем компьютере оно не включено, на этой странице описано, как настроить ускорение графики и виртуальной машины (ВМ), чтобы повысить производительность эмулятора.

Настроить ускорение обработки графики

Для отрисовки графики на экране устройства Android используют OpenGL для встроенных систем (OpenGL ES или GLES) и Vulkan API. Ускорение обработки графики позволяет использовать аппаратное обеспечение компьютера (обычно графический процессор) для более быстрого рендеринга. Для повышения производительности рекомендуется использовать аппаратное ускорение. Однако если компьютер несовместим с ним из-за отсутствия поддержки графического драйвера или несоответствия требованиям к образу системы, может потребоваться использовать программный режим.

При создании виртуального устройства Android в Менеджере AVD вы можете указать, какой тип рендеринга будет использовать эмулятор – аппаратный или программный. В автоматическом режиме эмулятор сам решает, использовать ли аппаратное или программное ускорение графики, в зависимости от характеристик компьютера. Вы также можете переопределить настройки, если запустите эмулятор из командной строки.

Как настроить ускорение обработки графики в Менеджере AVD

Чтобы настроить ускорение обработки графики для виртуального устройства Android, выполните следующие действия:

  1. Откройте Диспетчер устройств.
  2. Создайте новое виртуальное устройство Android или отредактируйте существующее.
  3. В окне Configuration (Конфигурация) найдите раздел Emulated Performance (Эмулированная производительность) на вкладке Additional Settings (Дополнительные настройки).
  4. Выберите значение для параметра Ускорение обработки графики.
  5. Нажмите Готово.

Как настроить ускорение обработки графики из командной строки

Чтобы указать тип ускорения обработки графики при запуске AVD из командной строки, добавьте параметр -gpu, как показано в примере ниже.

emulator -avd avd_name -gpu mode [{-option [value]} ... ]

Для mode можно задать одно из следующих значений:

  • auto – эмулятор выбирает аппаратное или программное ускорение обработки графики на основе AVD, настроек компьютера и показателей качества. Этот режим рекомендуется для большинства пользователей.
  • host – использовать графический процессор компьютера для аппаратного ускорения. Обычно этот вариант обеспечивает наилучшее качество графики и производительность эмулятора, а также позволяет включить MoltenVK на macOS для ускоренного рендеринга Vulkan. Однако если у вас возникли проблемы с эмуляцией графики, возможно, вам потребуется переключиться на программный рендеринг.
  • software – использовать наиболее подходящий бэкенд программной отрисовки для виртуального устройства Android, запрашиваемых функций эмуляции и показателей качества. Рекомендуем использовать этот вариант, если у вас возникли проблемы с режимами auto или host.
  • lavapipe – использовать программный рендеринг с драйверами Mesa 3D.
  • swiftshader – использовать программный рендеринг с SwiftShader для рабочих нагрузок GLES и Vulkan.
  • swangle – использовать программные драйверы SwiftShader с серверной частью ANGLE.

Указанные ниже параметры mode не поддерживаются:

  • mesa: поддержка прекращена в версии 25.3.0.
  • angle: поддержка прекращена в версии 27.0.2.
  • angle_indirect: поддержка прекращена в версии 34.2.14.
  • guest: поддержка прекращена в версии 36.4.9.
  • swiftshader_indirect: поддержка прекращена в версии 36.4.9.
  • swangle_indirect: поддержка прекращена в версии 36.4.9.

Как настроить ускорение виртуальной машины

Ускорение виртуальной машины использует процессор компьютера, чтобы значительно повысить скорость работы эмулятора. Инструмент под названием гипервизор управляет этим взаимодействием с помощью расширений виртуализации, которые предоставляет процессор вашего компьютера. В этом разделе описаны требования к использованию ускорения виртуальной машины и рассказано, как настроить его в каждой операционной системе.

Общие правила

Чтобы использовать ускорение виртуальной машины с эмулятором, ваш компьютер должен соответствовать общим требованиям, описанным в этом разделе. Ваш компьютер также должен соответствовать другим требованиям, которые зависят от операционной системы.

Требования к среде разработки

Чтобы использовать ускорение виртуальной машины, ваша среда разработки должна соответствовать следующим требованиям:

  • SDK Tools: минимальная версия – 17, рекомендуемая – 26.1.1 или более поздняя.
  • AVD. Требуемая версия Android указана в таблице ниже.

    Архитектура ЦП Требования к образу системы
    X86_64 Образы системы x86 или x86_64 для Android 2.3.3 (уровень API 10) и более поздних версий.
    ARM64 Образы системы arm64-v8a для Android 5.0 (уровень API 21) и более поздних версий.

Требования к расширениям виртуализации

Помимо требований к среде разработки, процессор вашего компьютера должен поддерживать расширения виртуализации. Поддерживаются следующие процессоры:

  • Процессоры Intel с технологией виртуализации Intel (VT-x, vmx), например Intel Core iX и Intel Core Ultra.
  • Процессоры AMD с AMD-V (SVM), например AMD Ryzen.
  • Apple Silicon

Дополнительные требования для процессоров Intel и AMD:

Для процессоров Intel и AMD требуется преобразование адресов второго уровня (Intel EPT или AMD RVI). Большинство современных процессоров Intel и AMD поддерживают преобразование адресов второго уровня. Только процессоры Intel или AMD первого поколения, поддерживающие расширения виртуализации, могут не иметь двухуровневой трансляции страниц.

Если вы не уверены, поддерживает ли ваш процессор необходимые расширения, ознакомьтесь с его характеристиками на сайте производителя. Если ваш процессор не поддерживает эти расширения, вы не сможете использовать ускорение виртуальной машины.

Ограничения

Для ускорения виртуальных машин действуют следующие ограничения:

  • Эмулятор с аппаратным ускорением нельзя запустить внутри другой виртуальной машины, например размещенной в VirtualBox, VMWare или Docker. Вы должны запустить эмулятор с ускорением виртуальной машины непосредственно на вашем хост-компьютере.
  • В зависимости от операционной системы и гипервизора вы не сможете одновременно запускать ПО, использующее другую технологию виртуализации, и эмулятор с ускорением виртуальной машины. К такому ПО относятся, например, решения для виртуальных машин, некоторые антивирусные программы и античиты. Чаще всего это происходит на компьютерах с Windows, на которых отключен Hyper-V. Большинство таких программ могут работать одновременно с эмулятором Android без каких-либо проблем. Если возникают конфликты, не рекомендуется запускать эмулятор с аппаратным ускорением одновременно с таким ПО.

О гипервизорах

Для ускорения виртуальной машины требуется гипервизор – инструмент, который использует расширения виртуализации, предоставляемые процессором компьютера.

Без гипервизора и ускорения виртуальной машины эмулятор должен блок за блоком преобразовывать машинный код виртуальной машины в соответствии с архитектурой хост-компьютера. Этот процесс может быть довольно медленным. Если архитектура виртуальной машины и хост-компьютера совпадают, эмулятор может выполнять код непосредственно на процессоре хоста с помощью гипервизора. Это значительно повышает скорость и производительность эмулятора.

Выбор гипервизора зависит от операционной системы и конфигурации компьютера. Дополнительную информацию можно найти в следующих разделах:

Как проверить, установлен ли гипервизор

Чтобы проверить, установлен ли гипервизор на вашем компьютере, используйте параметр командной строки -accel-check.

В примерах ниже показано, как использовать параметр accel-check эмулятора. В каждом примере Sdk – это местоположение Android SDK.

Windows:

c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check
accel:
0
WHPX(10.0.22631) is installed and usable.
accel
В Windows можно использовать разные гипервизоры. Поэтому то, что вы видите, может отличаться от примера здесь. Например, в сообщении может быть одно из следующих ключевых слов: AEHD, GVM (прежнее название AEHD).

macOS:

janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check
accel:
0
Hypervisor.Framework OS X Version 13.2
accel

Linux:

janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check
accel:
0
KVM (version 12) is installed and usable.

Как настроить ускорение виртуальной машины в Windows

На устройствах Windows рекомендуется использовать платформу низкоуровневой оболочки Windows (WHPX), поставляемую Microsoft. Для этого требуется Windows 10 версии 1803 или более поздней. Однако для Android Studio может потребоваться более поздняя версия Windows. В таких случаях следуйте системным требованиям Android Studio.

Платформа гипервизора Windows может быть отключена по умолчанию. В этом случае включите ее, следуя инструкциям в разделе Как настроить ускорение виртуальной машины с помощью платформы гипервизора Windows. После включения может потребоваться перезагрузка.

Как настроить ускорение виртуальной машины с помощью платформы гипервизора Windows

Чтобы включить WHPX, ваш компьютер должен соответствовать следующим требованиям:

  • Процессоры Intel: поддержка технологии виртуализации (VT-x), расширенных таблиц страниц (EPT) и функции Unrestricted Guest (UG). В настройках BIOS компьютера должна быть включена технология VT-x.
  • Процессоры AMD: рекомендуется AMD Ryzen. В настройках BIOS компьютера должна быть включена виртуализация или SVM.
  • Android Studio 3.2 Beta 1 или более поздней версии;
  • Эмулятор Android версии 27.3.8 или выше
  • Windows 10 или более поздней версии;

Чтобы установить WHPX в Windows, выполните следующие действия:

  1. На рабочем столе Windows нажмите на значок Windows, чтобы открыть меню "Пуск".
  2. В строке поиска введите Включение или отключение компонентов Windows.

    Должна появиться и быть выбрана панель управления Включение или отключение компонентов Windows.

  3. Нажмите клавишу Ввод или выберите Включение или отключение компонентов Windows, чтобы открыть панель управления.

  4. Установите флажок рядом с компонентом Платформа гипервизора Windows.

  5. Нажмите ОК.

  6. После завершения установки перезагрузите компьютер.

Как настроить ускорение ВМ с помощью драйвера гипервизора эмулятора Android (AEHD) в Windows

Чтобы установить и использовать драйвер гипервизора эмулятора Android, ваш компьютер должен соответствовать следующим требованиям:

  • Процессоры Intel или AMD с расширением виртуализации.
  • 64-разрядная версия Windows 11 или Windows 10 (32-разрядная версия Windows не поддерживается).

    Пользователи Windows 8.1, Windows 8 и Windows 7 могут продолжать использовать AEHD 1.7 или более ранней версии. Однако в таких случаях поддержка не предоставляется.

  • Функции, которые также используют гипервизор Windows Hyper-V, должны быть отключены в диалоговом окне "Компоненты Windows".

    Некоторые компоненты Windows также активируют и используют гипервизор Windows Hyper-V, даже если платформа низкоуровневой оболочки Windows не выбрана в диалоговом окне "Компоненты Windows". К ним относятся такие функции безопасности, как Hyper-V, изоляция ядра и другие. Обратите внимание, что компонент Hyper-V – это не то же самое, что гипервизор Hyper-V. Если вам нужны эти функции, используйте WHPX.

На процессорах AMD драйвер гипервизора эмулятора Android можно установить с помощью SDK Manager в Android Studio 4.0 Canary 5 или более поздней версии.

На процессорах Intel драйвер гипервизора эмулятора Android можно установить через SDK Manager в Android Studio Flamingo или более поздней версии.

Чтобы установить его из SDK Manager, выполните следующие действия:

  1. Выберите Tools (Инструменты) > SDK Manager (Менеджер SDK).
  2. Откройте вкладку SDK Tools (Инструменты SDK) и выберите Android Emulator hypervisor driver (Драйвер гипервизора эмулятора Android).
  3. Нажмите OK, чтобы скачать и установить драйвер гипервизора Android Emulator.
  4. После установки убедитесь, что драйвер работает правильно, с помощью следующей команды:

    AEHD 2.1 и более поздние версии

    sc query aehd
    

    Сообщение о статусе содержит следующую информацию:

    SERVICE_NAME: aehd
           ...
           STATE              : 4  RUNNING
           ...
    

    Следующее сообщение об ошибке означает, что расширение виртуализации не включено в BIOS или не отключен Hyper-V:

    SERVICE_NAME: aehd
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

    AEHD 2.0 и более ранние версии

    sc query gvm
    

    Сообщение о статусе содержит следующую информацию:

    SERVICE_NAME: gvm
           ...
           STATE              : 4  RUNNING
           ...
    

    Следующее сообщение об ошибке означает, что расширение виртуализации не включено в BIOS или что Hyper-V не отключен:

    SERVICE_NAME: gvm
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

Драйвер гипервизора эмулятора Android также можно скачать и установить с GitHub. Распаковав пакет драйверов, запустите silent_install.bat в командной строке с правами администратора.

Удалите драйвер гипервизора эмулятора Android, выполнив следующие команды в командной строке с правами администратора:

AEHD 2.1 и более поздние версии

   sc stop aehd
   sc delete aehd

AEHD 2.0 и более ранние версии

   sc stop gvm
   sc delete gvm

Как настроить ускорение виртуальной машины в macOS

В macOS эмулятор Android использует встроенный Hypervisor.Framework, для которого требуется macOS 10.10 (Yosemite) или более поздней версии. Однако для Android Studio может потребоваться более поздняя версия macOS. В таких случаях следуйте системным требованиям Android Studio.

Как настроить ускорение виртуальной машины в Linux

В системах на базе Linux ускорение виртуальных машин поддерживается с помощью пакета ПО KVM. Следуйте инструкциям по установке KVM в системе Linux, а затем убедитесь, что KVM включен. Для систем Ubuntu ознакомьтесь с инструкциями по установке KVM.

Требования

Для запуска KVM требуются определенные разрешения пользователя. Убедитесь, что у вас есть необходимые разрешения, указанные в инструкциях по установке KVM.

Чтобы использовать ускорение виртуальной машины в Linux, компьютер должен соответствовать следующим требованиям:

  • Для процессоров Intel: поддержка технологии виртуализации (VT-x), функций Intel EM64T (Intel 64) и включенная функция Execute Disable (XD) Bit.
  • Для процессоров AMD: поддержка AMD Virtualization (AMD-V).

Как проверить, установлен ли KVM в Linux

Чтобы проверить, установлен ли KVM, можно использовать параметр командной строки эмулятора -accel-check. Вы также можете установить пакет cpu-checker, содержащий команду kvm-ok.

Ниже показано, как использовать команду kvm-ok.

  1. Установите пакет cpu-checker:

    sudo apt-get install cpu-checker
    egrep -c '(vmx|svm)' /proc/cpuinfo
    

    Если результат равен 1 или больше, виртуализация поддерживается. Если вы увидите 0, значит ваш процессор не поддерживает аппаратную виртуализацию.

  2. Выполните команду kvm-ok:

    sudo kvm-ok
    

    Ожидаемый результат:

    INFO: /dev/kvm exists
    KVM acceleration can be used
    

    Если вы видите ошибку, приведенную ниже, это значит, что вы по-прежнему можете запускать виртуальные машины. Однако без расширений KVM виртуальная машина будет работать медленнее.

    INFO: Your CPU does not support KVM extensions
    KVM acceleration can NOT be used
    

Как установить KVM в Linux

Чтобы установить KVM, используйте следующую команду:

Cosmic (18.10) или более поздняя версия:

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Lucid (10.04) или более поздней версии:

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Karmic (9.10) или более ранней версии:

sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils

Руководство по удалению Intel HAXM

Поддержка HAXM прекращена в январе 2023 года, поскольку Intel больше не разрабатывает HAXM.

Начиная с версии 36.2.x.x, эмулятор Android больше не будет использовать HAXM. Если вы использовали его ранее, вам потребуется установить новый драйвер гипервизора. Мы рекомендуем использовать платформу гипервизора Windows (WHPX) от Microsoft.

Рекомендуется полностью удалить Intel HAXM из системы Windows, если у вас не установлено другое ПО, зависящее от HAXM, и вы не хотите оставить Intel HAXM и управлять им самостоятельно.

Чтобы удалить Intel HAXM, выполните следующие действия:

Как проверить, установлен ли Intel HAXM

Чтобы узнать, установлен ли Intel HAXM в вашей системе Windows, откройте командную строку Windows и выполните следующую команду:

   sc query intelhaxm

Если Intel HAXM установлен и запущен, вы увидите следующее сообщение:

Если Intel HAXM установлен, но отключен, вы увидите следующее сообщение в результате выполнения команды.

В обоих случаях, независимо от того, работает Intel HAXM или нет, он установлен. Чтобы продолжить удаление Intel HAXM, перейдите к следующему шагу.

Если Intel HAXM не установлен, вы увидите следующее сообщение.

Удалите Intel HAXM с помощью SDK Manager в Android Studio.

Если вы ранее устанавливали HAXM с помощью SDK Manager, то модуль по-прежнему должен быть указан на вкладке SDK Tools. Откройте SDK Manager в Android Studio, перейдите на вкладку SDK Tools и найдите строку Intel x86 Emulator Accelerator (HAXM installer) - Deprecated. Это должно выглядеть так, как показано на скриншоте ниже.

Снимите флажок, как показано на скриншоте ниже.

Нажмите кнопку "Применить". Появится следующее диалоговое окно:

После успешного удаления Intel HAXM вы увидите следующее: Удаление завершено. Вы можете остановиться на этом шаге.

Если возникнут ошибки, перейдите к следующему шагу.

Удалите Intel HAXM в настройках Windows.

Откройте настройки Windows и перейдите в раздел "Приложения > Установленные приложения".

Найдите запись Intel Hardware Accelerated Execution Manager и нажмите "Удалить", как показано на скриншоте ниже.

Программа удаления Intel HAXM должна запуститься и сообщить о результате. Если удаление прошло успешно, перейдите к разделу Удаление пакета установщика Intel HAXM. В противном случае перейдите к следующему шагу.

Как удалить приложение с помощью командной строки

  1. Остановите сервис Intel HAXM, выполнив команду sc stop intelhaxm. Вы должны увидеть следующий результат:

  2. Удалите сервис Intel HAXM, выполнив команду sc delete intelhaxm. Вы должны увидеть следующий вывод.

  3. Перейдите к разделу Как удалить пакет установщика Intel HAXM.

Удалите пакет установщика Intel HAXM.

Этот шаг требуется только при удалении Intel HAXM с помощью настроек Windows или командной строки. Без этого шага SDK Manager в Android Studio может по-прежнему показывать, что Intel HAXM установлен.

Пакет установщика находится в папке<Your Android SDK folder>\extras\intel. По умолчанию Android SDK устанавливается в папку C:\Users\<идентификатор пользователя Windows>\AppData\Local\Android\Sdk. Пример показан на скриншоте ниже.