Для возможности использования аппаратного ускорения Android Emulator для процессоров AMD рекомендовалось использовать виртуализатор Windows Hypervisor Platform (WHPX) или Hyper-V. Для процессоров Intel существует отдельное приложение Intel HAXM.
Начиная с версии Emulator 29.2.3 появилась поддержка нового драйвера Google GVM hypervisor driver. Для возможности использования необходимо обязательно отключить WHPX и Hyper-V, . Драйвер устанавливается в виде службы, которую можно в любой момент отключить.
Если вы привыкли использовать VirtualBox, то установка гипервизора MS блокирует работу виртуальной машины от Oracle с ошибкой: Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED). Код ошибки: E_FAIL (0x80004005) Компонент: ConsoleWrap.
В VirtualBox 6.0 была заявлена работа через гипервизор MS, но в действительности пока такая возможность не работает. Мы не сможем одновременно использовать и VirtualBox, и Android Emulator, но по отдельности можно использовать в любой момент без лишних действий.
Новый драйвер гипервизора возможно сможет помочь обладателям Windows 10 Home, где не доступен WHPX\Hyper-V. Проверить нет возможности.
Новое решение от Google поможет владельцам AMD воспользоваться аппаратным ускорением без лишних проблем. Первым делом необходимо установить новый Emulator 29.2.4, который доступен на каналах Canary и Dev.
1.Переводим текущий Android Studio 3.5 на канал Canary через Help->Check Updates. Выбираем Configure и устанавливаем канал Canary или Beta.
2.Устанавливает обновление Android Emulator. File->Settings, потом Appearance & Behavior > System Settings > Android SDK. Вкладка SDK Tools. Перед названием Android Emulator появится значок для установки обновления.
3.Обновление установлено и готово к использованию.
3. До установки gvm необходимо отключить WHPX и Hyper-V. Потребуется перезагрузка.
При попытке запуска silent_install.bat стали появляться множественные окна, но установка не проходила, поэтому запустил cmd от администратора и выполнил из bat следующие строки:
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 .\gvm.Inf
sc start gvm
Для управления службой GVM можно воспользоваться следующими командами:
sc query gvm - проверить состояние службы
sc config gvm start= disabled - отключить службу
sc config gvm start= enabled - включить службу
sc start gvm - запустить службу
sc stop gvm - остановить службу
sc delete gvm - удалить службу. Вначале требуется сделать stop.
Отключить WHPX\Hyper-V можно через панель управления. Необходимо отключить все следующие компоненты:
Для отключения через консоль (с правами администратора) необходимо выполнить следующие команды:
dism /online /Disable-Feature /FeatureName:VirtualMachinePlatform
dism /online /Disable-Feature /FeatureName:HypervisorPlatform
dism /online /Disable-Feature /FeatureName:Microsoft-Hyper-V-All
Для просмотра статуса всех компонентов dism /online /get-features, а для конкретного пакета dism /online /get-Featureinfo /FeatureName:VirtualMachinePlatform.
Новый драйвер гипервизора от Google для AMD gvm_install.zip
Последняя версия Intel HAMX на GitHub
Официальная информация от Google о поддержке нового драйвера GVM в Android Emulator https://androidstudio.googleblog.com/2019/10/emulator-2924-canary-fixes-amd.html
Android Emulator – AMD Processor & Hyper-V Support https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html
Android Emulator 29.2.5 https://dl.google.com/android/repository/emulator-windows-5950156.zip