Устранение неполадок в Android Emulator

В этой статье описаны наиболее типичные ошибки и предупреждения, возникающие при настройке и запуске Android Emulator. Кроме того, он описывает решения для устранения этих ошибок и различных советов по устранению неполадок, которые помогут вам диагностировать проблемы эмулятора. Дополнительные сведения см. в статье "Устранение известных проблем с эмулятором Android" на developer.android.com.

Проблемы развертывания в Windows

Эмулятор может отображать некоторые сообщения об ошибках при развертывании приложения. Здесь описаны наиболее распространенные ошибки и решения.

Ошибки развертывания

Если отображается ошибка о сбое при установке APK на ваш компьютер или при запуске Android Debug Bridge (adb), убедитесь, что пакет SDK для Android может подключиться к эмулятору. Для проверки связи с эмулятором сделайте следующее:

  1. Запустите эмулятор из диспетчер устройств Android (выберите виртуальное устройство и нажмите кнопку "Пуск").

  2. Откройте командную строку и перейдите в папку, в которой установлен adb. Если пакет SDK для Android установлен по умолчанию, adb находится в папке C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; если нет, измените этот путь для расположения пакета SDK для Android на компьютере.

  3. Введите следующую команду:

    adb devices
    
  4. Если эмулятор доступен из Android SDK, то он отобразится в списке подключенных устройств. Например:

    List of devices attached
    emulator-5554   device
    
  5. Если эмулятор не отображается в этом списке, запустите диспетчер пакетов SDK для Android, примените все обновления, а затем повторите попытку запуска эмулятора.

Ошибка доступа к MMIO

Если появляется сообщение Произошла ошибка доступа к MMIO, перезапустите эмулятор.

Отсутствующие сервисы Google Play

Если эмулированное устройство Android не установлено службы Google Play или Google Play Store, вы, вероятно, создали виртуальное устройство, за исключением этих пакетов. При создании виртуального устройства обязательно выберите один или оба из следующих параметров:

  • API Google — включает службы Google Play на виртуальном устройстве.
  • Google Play Store включает Google Play Store на виртуальном устройстве.

Например, это виртуальное устройство будет включать сервисы Google Play и Google Play Маркет:

Android Device Manager with Google Play Services and Play Store enabled for .NET MAUI.

Примечание.

Образы Google Play Маркет доступны только для некоторых типов базовых устройств, например Pixel, Pixel 2, Nexus 5 и Nexus 5X.

Проблемы с производительностью

Проблемы производительности обычно вызваны одной из следующих проблем:

  • Эмулятор работает без аппаратного ускорения.
  • Виртуальное устройство, работающее в эмуляторе с помощью образа на основе Arm.

В следующих разделах подробно описаны эти сценарии.

Аппаратное ускорение не включено

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

Android device manager warning about Hyper-V not enabled on .NET MAUI.

Чтобы устранить эту ошибку, выполните действия по устранению неполадок в разделе "Проблемы с ускорением оборудования".

Проблемы с аппаратным ускорением

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

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator-check.exe" accel

Эта команда предполагает, что пакет SDK для Android установлен по умолчанию в папке C:\Program Files (x86)\Android\android-sdk. Если пакет SDK для Android установлен в другом месте, измените предыдущую команду в правильное расположение.

Совет

Убедитесь, что эмулятор Android обновлен. В Visual Studio нажмите клавиши Tools>Android>SDK Manager. Выберите вкладку "Сервис" и просмотрите, доступна ли запись эмулятора Android.

Неправильные настройки BIOS

Если BIOS не настроен правильно для поддержки аппаратного ускорения, при выполнении команды эмулятора проверка.exe будет отображаться сообщение, аналогичное следующему примеру:

VT feature disabled in BIOS/UEFI

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

  • Технология виртуализации (может иметь другое название в зависимости от производителя системной платы).
  • Предотвращение исполнения данных на основе оборудования.

Если проблемы по-прежнему возникают из-за проблем, связанных с Hyper-V, см. в следующем разделе.

Проблемы с Hyper-V

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

  1. Введите PowerShell в поле поиска Windows.

  2. Щелкните правой кнопкой мыши Windows PowerShell в результатах поиска и выберите Запуск от имени администратора.

  3. В консоли PowerShell выполните следующую команду:

    Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
    

    Если Hyper-V не включен, появится сообщение, аналогичное следующему примеру, чтобы указать, что состояние Hyper-V отключено:

    FeatureName      : Microsoft-Hyper-V-All
    DisplayName      : Hyper-V
    Description      : Provides services and management tools for creating and running virtual machines and their resources.
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    
  4. В консоли PowerShell выполните следующую команду:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

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

    FeatureName      : HypervisorPlatform
    DisplayName      : Windows Hypervisor Platform
    Description      : Enables virtualization software to run on the Windows hypervisor
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    

Если Hyper-V или HypervisorPlatform не включены, используйте следующие команды PowerShell, чтобы включить их:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All

После завершения этих команд выполните перезагрузку.

Дополнительные сведения о включении Hyper-V (в том числе методы включения Hyper-V с помощью средства обслуживания и администрирования образов развертывания) см. в разделе Установка Hyper-V.

Дополнительные советы по устранению неполадок

Следующие рекомендации часто помогают диагностировать проблемы с эмулятором Android.

Запуск эмулятора из командной строки

Если эмулятор еще не запущен, его можно запустить из командной строки (а не из Visual Studio), чтобы просмотреть выходные данные. Как правило, образы AVD эмулятора Android хранятся в следующем расположении: %userprofile%\.android\avd.

Запустите эмулятор с образом AVD из этого расположения, передав имя папки AVD. Например, эта команда запускает виртуальное устройство Android с именем Pixel_API_27:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe" -partition-size 2000 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd pixel_5_-_api_30 -prop monodroid.avdname=pixel_5_-_api_30

Эта команда предполагает, что пакет SDK для Android установлен по умолчанию в папке C:\Program Files (x86)\Android\android-sdk. Если пакет SDK для Android установлен в другом месте, измените предыдущую команду в правильное расположение.

Просмотр журналов Device Manager

Часто можно диагностировать проблемы с эмулятором, просмотрев журналы Device Manager. Эти журналы записываются в следующее расположение: %userprofile%\AppData\Local\Xamarin\Logs\16.0.

Вы можете просмотреть каждый файл DeviceManager.log с помощью текстового редактора.