Настройте аппаратное ускорение для эмулятора Android.

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

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

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

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

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

Графическое ускорение использует аппаратное обеспечение вашего компьютера (обычно графический процессор) для ускорения рендеринга экрана. Устройства Android используют OpenGL для встраиваемых систем (OpenGL ES или GLES) для рендеринга 2D- и 3D-графики на экране.

Когда вы создаете виртуальное устройство Android (AVD) в диспетчере AVD, вы можете указать, использует ли эмулятор аппаратное или программное обеспечение для эмуляции графического процессора AVD. Рекомендуется аппаратное ускорение, которое обычно быстрее. Однако вам может потребоваться использовать программное ускорение, если на вашем компьютере используются графические драйверы, несовместимые с эмулятором.

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

Если вы запустите эмулятор из командной строки , вы можете переопределить настройку графического ускорения в AVD для этого экземпляра виртуального устройства.

Требования

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

  • Инструменты SDK : рекомендуется последняя версия (минимум версия 17).
  • Платформа SDK: рекомендуется последняя версия (Android 4.0.3, версия 3, минимум)

Настройте ускорение графики в AVD Manager.

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

  1. Откройте AVD-менеджер .
  2. Создайте новый AVD или отредактируйте существующий AVD .
  3. В окне «Проверка конфигурации» найдите раздел «Эмулируемая производительность» .
  4. Выберите значение для параметра Графика:.
  5. Нажмите «Готово» .

Настройка ускорения графики из командной строки

Чтобы указать тип графического ускорения при запуске AVD из командной строки, включите параметр -gpu , как показано в следующем примере:

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

Значение mode может быть установлено в одно из следующих значений:

  • auto : позвольте эмулятору выбирать между аппаратным или программным ускорением графики в зависимости от настроек вашего компьютера.
  • host : используйте графический процессор вашего компьютера для аппаратного ускорения. Этот параметр обычно обеспечивает высочайшее качество графики и производительность эмулятора. Однако если у ваших графических драйверов возникают проблемы с рендерингом OpenGL, вам может потребоваться использовать параметры swiftshader_indirect или angle_indirect .
  • swiftshader_indirect : используйте вариант SwiftShader , совместимый с Quick Boot, для рендеринга графики с использованием программного ускорения. Этот вариант является хорошей альтернативой режиму host , если ваш компьютер не может использовать аппаратное ускорение.
  • angle_indirect : (только для Windows) Используйте вариант ANGLE Direct3D , совместимый с быстрой загрузкой, для рендеринга графики с использованием программного ускорения. Этот вариант является хорошей альтернативой режиму host , если ваш компьютер не может использовать аппаратное ускорение. В большинстве случаев производительность ANGLE аналогична использованию режима host , поскольку ANGLE использует Microsoft DirectX вместо OpenGL.

    В Windows драйверы Microsoft DirectX обычно вызывают меньше проблем, чем драйверы OpenGL. Этот вариант использует Direct3D 11 и требует Windows 10, Windows 8.1 или Windows 7 SP1 с обновлением платформы Windows 7.

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

Следующие параметры mode устарели:

  • swiftshader : устарел в версии 27.0.2. Вместо этого используйте swiftshader_indirect .
  • angle : Устарело в версии 27.0.2. Вместо этого используйте angle_indirect (только для Windows).
  • mesa : Устарело в версии 25.3. Вместо этого используйте swiftshader_indirect .

Включить рендеринг Skia для пользовательского интерфейса Android

При использовании изображений для уровня API 27 или выше эмулятор может отображать пользовательский интерфейс Android с помощью Skia . Skia помогает эмулятору отображать графику более плавно и эффективно.

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

su
setprop debug.hwui.renderer skiagl
stop
start

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

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

Общие требования

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

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

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

  • Инструменты SDK : Минимальная версия 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.
  • Яблочный кремний

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

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

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

Ограничения

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

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

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

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

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

Гипервизор, который подойдет вам лучше всего, зависит от операционной системы и конфигурации вашего компьютера. Для получения дополнительной информации см. один из следующих разделов:

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

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

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

Окна:

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

macOS:

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

Линукс:

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

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

Ускорение виртуальных машин в Windows может использовать один из двух гипервизоров:

  • Платформа гипервизора Windows (WHPX)
  • Драйвер гипервизора эмулятора Android (AEHD)

Выбираем гипервизор в Windows

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

Критерии Гипервизор
Вам необходимо запустить Hyper-V одновременно с эмулятором Android. Используйте WHPX .
Вам не нужно запускать Hyper-V одновременно с эмулятором Android. Используйте драйвер гипервизора Android Emulator .

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

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

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

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

  1. На рабочем столе Windows щелкните правой кнопкой мыши значок Windows и выберите «Приложения и функции» .
  2. В разделе «Связанные параметры» нажмите «Программы и компоненты» .
  3. Нажмите «Включает или выключает функции Windows» .
  4. Выберите платформу гипервизора Windows .

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

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

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

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

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

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

  • Hyper-V необходимо отключить в диалоговом окне «Функции Windows».

    Некоторые компоненты Windows могут включать гипервизор Hyper-V без включения Hyper-V в диалоговом окне функций Windows, например изоляция ядра , предлагаемая Защитником Windows. В таких случаях вместо этого используйте WHPX .

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

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

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

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

    АЭГД 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)
           ...
    

    АЭГД 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 Emulator также можно скачать и установить с GitHub . После распаковки пакета драйверов запустите silent_install.bat в командной строке с правами администратора.

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

АЭГД 2.1 и выше

   sc stop aehd
   sc delete aehd

АЭГД 2.0 и ниже

   sc stop gvm
   sc delete gvm

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

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

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

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

Требования

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

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

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

Проверьте, установлен ли KVM в Linux

Вы можете использовать параметр командной строки emulator -accel-check чтобы проверить, установлен ли у вас KVM. Альтернативно вы можете установить пакет 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:

Космический (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

Кармический (9.10) или ранее:

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

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

Начиная с эмулятора 33.xxx, HAXM устарел, поскольку Intel прекращает разработку HAXM . Драйвер гипервизора эмулятора Android (AEHD) заменяет Intel HAXM на процессорах Intel.

Рекомендуется полностью удалить 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 из Android Studio.

Откройте диспетчер SDK из Android Studio, перейдите на вкладку «Инструменты SDK», затем перейдите к строке «Intel x86 Emulator Accelerator (установщик HAXM) — устарело». Это должно выглядеть как на следующем снимке экрана.

Снимите флажок, как показано на следующем снимке экрана.

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

После успешного удаления 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 Android Studio может продолжать указывать Intel HAXM как «Установленный».

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