Устранение неполадок в Android Emulator
В этой статье описаны наиболее типичные ошибки и предупреждения, возникающие при настройке и запуске Android Emulator. Кроме того, он описывает решения для устранения этих ошибок и различных советов по устранению неполадок, которые помогут вам диагностировать проблемы эмулятора. Дополнительные сведения см. в статье "Устранение известных проблем с эмулятором Android" на developer.android.com.
Проблемы развертывания в Windows
Эмулятор может отображать некоторые сообщения об ошибках при развертывании приложения. Здесь описаны наиболее распространенные ошибки и решения.
Ошибки развертывания
Если отображается ошибка о сбое при установке APK на ваш компьютер или при запуске Android Debug Bridge (adb), убедитесь, что пакет SDK для Android может подключиться к эмулятору. Для проверки связи с эмулятором сделайте следующее:
Запустите эмулятор из диспетчер устройств Android (выберите виртуальное устройство и нажмите кнопку "Пуск").
Откройте командную строку и перейдите в папку, в которой установлен adb. Если пакет SDK для Android установлен по умолчанию, adb находится в папке C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; если нет, измените этот путь для расположения пакета SDK для Android на компьютере.
Введите следующую команду:
adb devices
Если эмулятор доступен из Android SDK, то он отобразится в списке подключенных устройств. Например:
List of devices attached emulator-5554 device
Если эмулятор не отображается в этом списке, запустите диспетчер пакетов 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 Маркет:
Примечание.
Образы Google Play Маркет доступны только для некоторых типов базовых устройств, например Pixel, Pixel 2, Nexus 5 и Nexus 5X.
Проблемы с производительностью
Проблемы производительности обычно вызваны одной из следующих проблем:
- Эмулятор работает без аппаратного ускорения.
- Виртуальное устройство, работающее в эмуляторе с помощью образа на основе Arm.
В следующих разделах подробно описаны эти сценарии.
Аппаратное ускорение не включено
При запуске виртуального устройства и аппаратного ускорения не включено, диспетчер устройств отображает диалоговое окно ошибки, аналогичное следующему изображению:
Чтобы устранить эту ошибку, выполните действия по устранению неполадок в разделе "Проблемы с ускорением оборудования".
Проблемы с аппаратным ускорением
При использовании аппаратного ускорения могут возникнуть проблемы конфигурации или конфликты с другим программным обеспечением на компьютере. Первым шагом в устранении неполадок является проверка включения аппаратного ускорения. Пакет 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 включен, сделайте следующее:
Введите PowerShell в поле поиска Windows.
Щелкните правой кнопкой мыши Windows PowerShell в результатах поиска и выберите Запуск от имени администратора.
В консоли 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 :
В консоли 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 с помощью текстового редактора.