Android 에뮬레이터 문제 해결

이 문서에서는 Android Emulator를 구성하고 실행하는 동안 발생하는 가장 일반적인 경고 메시지 및 문제에 대해 설명합니다. 또한 이러한 오류를 해결하기 위한 솔루션과 에뮬레이터 문제를 진단하는 데 도움이 되는 다양한 문제 해결 팁을 설명합니다. 자세한 내용은 developer.android.com Android Emulator 의 알려진 문제 해결을 참조하세요.

Windows의 배포 문제

앱을 배포할 때 에뮬레이터에서 일부 오류 메시지가 표시될 수 있습니다. 가장 일반적인 오류 및 해결 방법이 여기에 설명되어 있습니다.

배포 오류

에뮬레이터에 APK 설치 실패 또는 Android Debug Bridge(adb) 실행 실패에 대한 오류가 표시되면 Android SDK가 에뮬레이터에 연결할 수 있는지 확인합니다. 에뮬레이터 연결을 확인하려면 다음 단계를 수행합니다.

  1. Android 장치 관리자 에뮬레이터를 시작합니다(가상 디바이스를 선택하고 시작을 선택).

  2. 명령 프롬프트를 열고 adb가 설치된 폴더로 이동합니다. Android SDK가 기본 위치에 설치된 경우 adb는 C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe에 있습니다. 그렇지 않은 경우 컴퓨터의 Android SDK 위치에 대해 이 경로를 수정합니다.

  3. 다음 명령을 입력합니다.

    adb devices
    
  4. 에뮬레이터를 Android SDK에서 액세스할 수 있는 경우 에뮬레이터가 연결 디바이스 목록에 나타나야 합니다. 예시:

    List of devices attached
    emulator-5554   device
    
  5. 이 목록에 에뮬레이터가 표시되지 않으면 Android SDK Manager시작하고 모든 업데이트를 적용한 다음 에뮬레이터를 다시 시작합니다.

MMIO 액세스 오류

MMIO 액세스 오류가 발생 했습니다.라는 메시지가 표시되면 에뮬레이터를 다시 시작하세요.

Google Play 서비스 누락

에뮬레이트된 Android 디바이스에 Google Play 서비스 또는 Google Play 스토어가 설치되어 있지 않은 경우 이러한 패키지를 제외하는 가상 디바이스를 만들었을 것입니다. 가상 디바이스를 만들 때 다음 옵션 중 하나 또는 둘 다를 선택해야 합니다.

  • Google API는 가상 디바이스에 Google Play 서비스를 포함합니다.
  • Google Play 스토어는 가상 디바이스에 Google Play 스토어를 포함합니다.

예를 들어 이 가상 디바이스에는 Google Play 서비스 및 Google Play 스토어가 포함됩니다.

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

참고 항목

Google Play 스토어 이미지는 픽셀, 픽셀 2, Nexus 5 및 Nexus 5X와 같은 몇 가지 기본 디바이스 유형에만 사용할 수 있습니다.

성능 문제

성능 문제는 일반적으로 다음 문제 중 하나로 인해 발생합니다.

  • 에뮬레이터가 하드웨어 가속 없이 실행 중입니다.
  • Arm 기반 이미지를 사용하여 에뮬레이터에서 실행되는 가상 디바이스입니다.

다음 섹션에서는 이러한 시나리오를 자세히 설명합니다.

하드웨어 가속을 사용할 수 없습니다.

가상 디바이스를 시작하고 하드웨어 가속을 사용하도록 설정하지 않은 경우 장치 관리자 다음 이미지와 유사한 오류 대화 상자를 표시합니다.

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

이 오류를 해결하려면 하드웨어 가속 문제 섹션의 문제 해결 단계를 수행합니다.

하드웨어 가속 문제

하드웨어 가속을 사용하는 경우 구성 문제가 발생하거나 컴퓨터의 다른 소프트웨어와 충돌할 수 있습니다. 문제 해결의 첫 번째 단계는 하드웨어 가속이 사용하도록 설정되어 있는지 확인하는 것입니다. Android의 SDK를 사용하여 이 설정을 검사 수 있습니다. 명령 프롬프트를 열고 다음 명령을 입력합니다.

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

이 명령은 Android SDK가 C:\Program Files (x86)\Android\android-sdk기본 위치에 설치되어 있다고 가정합니다. Android SDK가 다른 곳에 설치된 경우 이전 명령을 올바른 위치로 수정합니다.

Android 에뮬레이터가 최신 상태인지 확인합니다. Visual Studio에서 도구>Android>Android SDK Manager를 누릅니다. 도구 탭을 선택하고 Android 에뮬레이터 항목에 사용 가능한 업데이트가 있는지 확인합니다.

잘못된 BIOS 설정

하드웨어 가속을 지원하도록 BIOS가 제대로 구성되지 않은 경우 emulator-검사.exe accel 명령을 실행할 때 다음 예제와 유사한 메시지가 표시됩니다.

VT feature disabled in BIOS/UEFI

이 문제를 해결하려면 컴퓨터의 BIOS를 재부팅하고 다음 옵션을 활성화합니다.

  • 가상화 기술(마더보드 제조업체에 따라 다른 레이블이 있을 수 있음).
  • 하드웨어 강제 데이터 실행 방지.

Hyper-V와 관련된 문제로 인해 문제가 계속 발생하는 경우 다음 섹션을 참조하세요.

Hyper-V 문제

경우에 따라 Windows 기능 설정 또는 해제 대화 상자에서 Hyper-VWindows 하이퍼바이저 플랫폼을 모두 사용하도록 설정하면 Hyper-V가 제대로 설정되지 않을 수 있습니다. Hyper-V가 활성화되었는지 확인하려면 다음 단계를 수행합니다.

  1. Windows 검색 상자에 PowerShell을 입력합니다.

  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 내에서가 아니라 명령줄에서 시작하여 출력을 볼 수 있습니다. 일반적으로 Android 에뮬레이터 AVD 이미지는 %userprofile%\.android\avd 위치에 저장됩니다.

AVD의 폴더 이름을 전달하여 이 위치에서 AVD 이미지를 사용하여 에뮬레이터를 시작할 수 있습니다. 예를 들어 이 명령은 Pixel_API_27이라는 AVD를 시작합니다.

"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

이 명령은 Android SDK가 C:\Program Files (x86)\Android\android-sdk기본 위치에 설치되어 있다고 가정합니다. Android SDK가 다른 곳에 설치된 경우 이전 명령을 올바른 위치로 수정합니다.

Device Manager 로그 보기

종종 Device Manager 로그를 확인하여 에뮬레이터 문제를 진단할 수 있습니다. 이러한 로그는 %userprofile%\AppData\Local\Xamarin\Logs\16.0 위치에 기록됩니다.

텍스트 편집기를 사용하여 각 DeviceManager.log 파일을 볼 수 있습니다.