Привет ${username}!

Хочу поделиться решением проблемы, возникающей у многих начинающих разработчиков под Android, работающих на процессорах AMD под управлением Windows 10/11 Home.

Эта инструкция будет полезна тем, кто после установки Android Studio попытался запустить Android Emulator, но столкнулся с ошибкой «The emulator process for AVD has terminated».

Пример, когда из текста ошибки невозможно понять причину.
Пример, когда из текста ошибки невозможно понять причину.

Указанная ошибка чаще всего возникает из-за проблем с виртуализацией. Для их решения Вам необходимо:

1) Для начала удалите  все инструменты виртуализации в Android Studio. Для этого перейдите в меню Tools -> SDK Manager -> Вкладка SDK Tools и снимите галочки напротив всех инструментов виртуализации:

Примените изменения, закройте Android Studio и перезагрузите компьютер.

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

Как правило, интересующий Вас параметр называется VT (Virtualization technology) / AMD-V / AMD SVM (Secure Virtual Machine), но могут быть и иные параметры, влияющие на работу виртуальных машин в системе, которые следует включить, например AMD IOMMU.
В целом, если в процессе установки или запуска эмулятора у Вас будут возникать ошибки, Вам следует вернуться к этому абзацу, изучить инструкцию к Вашей материнской плате, и, возможно, обновить BIOS.

UPD: спасибо @Revertis за замечание, которое он дал в комментариях. Действительно, согласно официальной инструкции, если вы не собираетесь использовать конкретно Hyper-V (для иных нужд), то Вам достаточно установить эмулятор и Android Emulator hypervisor driver. Поэтому пункты №3 и 4 допускается пропустить.

3) После загрузки Вам необходимо установить компонент Hyper-V в системе. Пользователи Windows 10/11 редакции Pro могут сделать это через GUI, через инструмент "Включение и отключение компонентов Windows", но в Windows редакции Home, указанные компоненты не включены в поставку, поэтому достаем маленький бубен и решаем эту задачу следующим образом:

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

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause

сохраняем его и запускаем от имени администратора. Далее последует установка Hyper-V, которая займет некоторое время (около двух минут, в моем случае). По завершении установки систему следует перезагрузить.

4) После загрузки системы, Вы можете пройти по пути Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows и убедиться, что следующие компоненты Windows включены:

Hyper-V на WIndows 11 Home!
Hyper-V на WIndows 11 Home!

5) И, наконец, открываем Android Studio, опять переходим в меню Tools -> SDK Manager -> вкладка SDK Tools и ставим галочки напротив инструментов виртуализации, кроме Intel x86 Emulator Accelerator (HAXM installer):

6) Принимаем изменения и, после установки, приступаем к созданию виртуального устройства, для чего переходим в меню Tools -> Device manager и кликаем кнопку Create.

Далее выбираете себе устройство с интересующим Вас разрешением экрана, уровнем API и архитектурой. Если в процессе разработки Вы будете использовать сервисы Google Play, то выберите устройство с его поддержкой (в моем случае на эмуляторах без поддержки Google Play не работала функция Google One Tap SignIn).

7) Запускаем устройство и погружаемся в мир разработки под Android! ????

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

Как правило, установщик Android Studio размещает их в папке .android пользовательской директории, соответственно если Ваш пользователь именован с использованием кириллицы, то наверняка при сборке Вы столкнётесь с ошибками.

В Android Studio перейдите в меню Tools -> SDK Manager и задайте Android SDK Location без использования кириллицы. Также убедитесь что располагаете достаточным местом на диске. Для понимания, используемый мной набор SDK занимает 10,7 Гб на диске + 10,3 Гб на виртуальное устройство Android:

Надеюсь, я смог Вам помочь, успехов в Ваших начинаниях!

Комментарии (23)


  1. DMGarikk
    21.04.2023 10:41
    +8

    пути без использования кириллических символов.
    Android SDK Location без использования кириллицы.
    если Ваш пользователь именован с использованием кириллицы, то наверняка при сборке Вы столкнётесь с ошибками.

    шел 23 год… помню в комментах на хабре гдето сетовал на это и советовал что пути всегда и везде надо писать на латинице и без пробелов, отхватил минусов и комментов встиле "чуваак кругом юникод, тычоо, дедовские советы!!"


    Гуглл, фаанг… неанглийские пути? неее… мы за 100500млн баксов будем смузи пить


    ======


    а если по теме, это интел гуглу проплатил пихать этот haxm? что им плевать на то что проц не тот… я помню еще году в 14 страдал с эмуляцией на amd… почти 10 лет прошло, ниче не поменялось


    1. pilimpimpilim
      21.04.2023 10:41

      челом который писал ссылки в .xn-- да %% пробили дно минусов предварительно убеждая что он должен включить в firefox хотя он отключил в ie


    1. VADemon
      21.04.2023 10:41
      +1

      Гуглл, фаанг… неанглийские пути

      Американские индусы, пишущие юникодно-несовместимые программы. Или не индусы? Или все-таки пишут? :)

      А HAXM всё: Intel Discontinues Development Of Open-Source HAXM Software. И ещё интересного:

      Originally they also attributed it to having known security issues, only
      to later backtrack and note that apparently that portion of the
      discontinuation message was posted by mistake.

      Это соотносится со слухами (6:05 - 7:30), что Intel сидит на патчах, или как минимум не латает дыры, пока петух не клюнет. И пользуяюсь случаем, донесу до публики следующий комментарий от авторов RIDL, Fallout и др.:

      We are particularly worried about Intel's mitigation plan being PoC-oriented with a complete lack of security engineering and underlying root cause analysis, with minor variations in PoCs leading to new embargoes, and these "new" vulnerabilities remaining unfixed for lengthy periods.

      Рекомендую всю главу к прочтению :)


  1. Javian
    21.04.2023 10:41
    +1

    убедиться, что следующие компоненты Windows включены

    Интересно. Для Intel это бы сделало невозможным запуск эмулятора.


    1. DMGarikk
      21.04.2023 10:41

      Интересно. Для Intel это бы сделало невозможным запуск эмулятора.

      хмм, тоесть докер не будет работать если стоит интел-эмулятор в системе?


      1. Javian
        21.04.2023 10:41

        Быстро пробежал по теме об Android Studio на 4pda и нашел "для райзенов доступна эмуляция через hyper-v, а это качественно иной уровень от программной эмуляции доступной для других процессоров амд".


        Для Интел же можно увидеть, что Intel haxm не может делить VT ресурсы с другими виртуальными машинами и не запускается.


        1. VADemon
          21.04.2023 10:41

          Насколько помню, дело было наоборот. Hyper-V после одного обновления винды перестал делиться с другими гипервизорами. Поддержка сего поведения поделия со стороны VirtualBox заставила себя недолго ждать, от чего мой друг на эту проблему и напоролся ("лечение" - это отключение Hyper-V). Возможно, та же ситуация с HAXM.


          1. dartraiden
            21.04.2023 10:41
            +2

            Hyper-V после одного обновления винды перестал делиться с другими гипервизорами.

            Hyper-V это нативный гипервизор (гипервизор 1 типа) в отличие от VirtualBox/VMWare Workstation. И он всю дорогу таким был. Другие гипервизоры могут запускаться поверх Hyper-V, если они поддерживают соответствующий API Windows Hypervisor Platform (и соответствующий компонент включен в Windows, по умолчанию он выключен). В этом случае применяется вложенная виртуализация.


            1. VADemon
              21.04.2023 10:41

              Спасибо, теперь ясно.


    1. Lepekhov Автор
      21.04.2023 10:41

      К сожалению не могу проверить, т.к. не располагаю процессором Intel...


  1. Revertis
    21.04.2023 10:41
    +1

    А зачем Hyper-V ставить? Без него отлично работает эмулятор.


    1. Lepekhov Автор
      21.04.2023 10:41

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


      1. Revertis
        21.04.2023 10:41

        Просто надо уметь читать.


        1. Lepekhov Автор
          21.04.2023 10:41

          Действительно, Вы совершенно правы. Снес Hyper-V, созданные эмуляторы отлично заводятся. Теперь мучаюсь в догадках в чем была проблема при попытке завести устройства без Hyper-V в системе... Intel HAXM сносил, драйвер гипервизора Android ставил, но, тем не менее, устройства не заводились, пока не поставил Hyper-V...


          1. Revertis
            21.04.2023 10:41
            +1

            Просто у вас была выключена виртуализация в биосе, и вы сделали два шага сразу - включили виртуализацию и накатили hyper-V.


          1. Javian
            21.04.2023 10:41
            +1

            В году 2015-м попадалось, что на неком ноутбуке не имеющем в BIOS опции активации VT (пример https://habr.com/ru/articles/152056/ в комментариях есть ссылка на https://github.com/trotsky/insyde-tools ), виртуализация как-то активировалась после установки свежего VirtualBox. Может и тут что-то непрозрачно включается.


        1. Lepekhov Автор
          21.04.2023 10:41

          Правку внес в статью, еще раз благодарю!


          1. pilimpimpilim
            21.04.2023 10:41

            4pda (после совершеннолетия) переезжает на habr


  1. VirtualProgramer
    21.04.2023 10:41
    +1

    На моем ПК ХАНМ значительно быстрее обычного эмулятора, а у вас в статье его надо отключить...


    1. Lepekhov Автор
      21.04.2023 10:41
      +1

      HAXM это гипервизор только для процессоров Intel и если вы его установите в систему на процессоре AMD, то эмулятор у Вас не запустится


      1. VirtualProgramer
        21.04.2023 10:41
        +2

        И еще такое замечание - на одном и том же ПК iMac 2012 Intel под Мак ОС эмулятор работает в разы быстрее чем под Виндовс 7 - скорость даже немного выше жеезного Галакси Дж 7 (версиии Андроид студии одинаковые)


        1. Lepekhov Автор
          21.04.2023 10:41
          +1

          Не у каждого разработчика есть iMac =) Статья как раз для тех, у кого камень производства AMD и Windows редакции Home, без возможности установить необходимый эмулятору Hyper-V из-под GUI.


  1. VADemon
    21.04.2023 10:41
    +2

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

    Добавлю: в некоторых UEFI настройка Auto (якобы равная ON) может отличаться на самом деле от явно выставленных ON/OFF. По-моему с IOMMU так было.

    Если кому-то очень лень в настройки лезть (скоротить путь при диагнозе проблемы хотите вы, ССЗБ?), есть программа VirtualChecker 3.0.1 от автора CrystalDiskInfo (сайт: openlibsys.org).