Android Emulator에서 디버깅Debugging on the Android Emulator

이 가이드에서는 앱을 디버그하고 테스트하기 위해 Android Emulator에서 가상 디바이스를 시작하는 방법을 알아봅니다.In this guide, you will learn how to launch a virtual device in the Android Emulator to debug and test your app.

개요Overview

Android Emulator( .NET을 사용한 모바일 개발 워크로드의 일부로 설치됨)를 다양한 구성으로 실행하여 다양한 Android 디바이스를 시뮬레이션할 수 있습니다.The Android Emulator (installed as part of the Mobile development with .NET workload), can be run in a variety of configurations to simulate different Android devices. 이러한 구성은 각각 _가상 디바이스_로 생성됩니다.Each one of these configurations is created as a virtual device. 이 가이드에서는 Visual Studio에서 에뮬레이터를 시작하고, 가상 디바이스에서 앱을 실행하는 방법을 알아봅니다.In this guide, you will learn how to launch the emulator from Visual Studio and run your app in a virtual device. Android Emulator를 구성하고 새 가상 디바이스를 만드는 방법에 대한 자세한 내용은 Android Emulator 설정을 참조하세요.For information about configuring the Android Emulator and creating new virtual devices, see Android Emulator Setup.

미리 구성된 가상 디바이스 사용Using a Pre-Configured Virtual Device

Visual Studio에는 디바이스 드롭다운 메뉴에 표시되는 미리 구성된 가상 디바이스가 있습니다.Visual Studio includes pre-configured virtual devices that appear in the device drop-down menu. 예를 들어 다음 Visual Studio 2017 스크린 샷에서는 몇 가지 미리 구성된 가상 디바이스를 제공합니다.For example, in the following Visual Studio 2017 screenshot, several pre-configured virtual devices are available:

  • VisualStudio_android-23_arm_phoneVisualStudio_android-23_arm_phone

  • VisualStudio_android-23_arm_tabletVisualStudio_android-23_arm_tablet

  • VisualStudio_android-23_x86_phoneVisualStudio_android-23_x86_phone

  • VisualStudio_android-23_x86_tabletVisualStudio_android-23_x86_tablet

가상 디바이스Virtual devices

일반적으로 VisualStudio_android-23_x86_phone 가상 디바이스를 선택하여 전화 앱을 테스트 및 디버그합니다.Typically, you would select the VisualStudio_android-23_x86_phone virtual device to test and debug a phone app. 미리 구성된 가상 디바이스 중 하나가 요구 사항에 부합할 경우(즉 앱의 대상 API 수준에 맞는 경우) 에뮬레이터 시작으로 건너뛰어 에뮬레이터에서 앱 실행을 시작합니다.If one of these pre-configured virtual devices meets your requirements (i.e., matches your app's target API level), skip to Launching the Emulator to begin running your app in the emulator. Android API 수준에 대해 아직 잘 모르겠으면 Android API 수준 이해를 참조하세요.(If you are not yet familiar with Android API levels, see Understanding Android API Levels.)

Xamarin.Android 프로젝트에서 사용 가능한 가상 디바이스와 호환되지 않는 대상 프레임워크 수준을 사용할 경우, 드롭다운 메뉴의 지원되지 않는 디바이스에 사용할 수 없는 가상 디바이스가 나열됩니다.If your Xamarin.Android project is using a Target Framework level that is incompatible with the available virtual devices, the drop-down menu lists the unusable virtual devices under Unsupported Devices. 예를 들어 다음 프로젝트는 대상 프로레임워크가 Android 7.1 Nougat(API 25) 로 설정되었는데 이는 이 예제에 나열되어 있는 Android 6.0 가상 디바이스와 호환되지 않습니다.For example, the following project has a Target Framework set to Android 7.1 Nougat (API 25), which is incompatible with the Android 6.0 virtual devices that are listed in this example:

호환되지 않는 가상 디바이스Incompatible virtual device

최소 Android 대상 변경을 클릭하여 프로젝트의 최소 Android 버전을 사용 가능한 가상 디바이스의 API 수준에 맞게 변경할 수 있습니다.You can click Change Minimum Android Target to change the project's Minimum Android Version so that it matches the API level of the available virtual devices. 또는 Android Device Manager를 사용하여 대상 API 수준을 지원하는 새 가상 디바이스를 만들 수 있습니다.Alternately, you can use the Android Device Manager to create new virtual devices that support your target API level. 새 API 수준에 대해 가상 디바이스를 구성할 수 있으려면 먼저 해당 API 수준에 대한 시스템 이미지를 설치해야 합니다(Xamarin.Android에 대한 Android SDK 설정 참조).Before you can configure virtual devices for a new API level, you must first install the corresponding system images for that API level (see Setting up the Android SDK for Xamarin.Android).

가상 디바이스 편집Editing Virtual Devices

가상 디바이스를 수정하려면(또는 새로 만들려면) Android Device Manager를 사용해야 합니다.To modify virtual devices (or to create new ones), you must use the Android Device Manager.

에뮬레이터 시작Launching the Emulator

Visual Studio 위에는 디버그 또는 릴리스 모드를 선택하는 데 사용할 수 있는 드롭다운 메뉴가 있습니다.Near the top of Visual Studio, there is a drop-down menu that can be used to select Debug or Release mode. 디버그를 선택하면 디버거가 앱이 시작된 후 에뮬레이터 안에 실행 중인 애플리케이션 프로세스에 연결됩니다.Choosing Debug causes the debugger to attach to the application process running inside the emulator after the app starts. 릴리스 모드를 선택하면 디버거가 비활성화됩니다(그러나 여전히 앱을 실행하고 디버그에 대한 로그 문을 사용할 수 있음).Choosing Release mode disables the debugger (however, you can still run the app and use log statements for debug). 디바이스 드롭다운 메뉴에서 가상 디바이스를 선택한 후 디버그 또는 릴리스 모드를 선택한 다음, 재생 단추를 클릭하여 애플리케이션을 실행합니다.After you have chosen a virtual device from the device drop-down menu, select either Debug or Release mode, then click the Play button to run the application:

에뮬레이터가 시작된 후 Xamarin.Android가 앱을 에뮬레이터에 배포합니다.After the emulator starts, Xamarin.Android will deploy the app to the emulator. 에뮬레이터가 구성된 가상 디바이스 이미지로 앱을 실행합니다.The emulator runs the app with the configured virtual device image. Android Emulator의 예제 스크린샷은 아래에 표시됩니다.An example screenshot of the Android Emulator is displayed below. 이 예제에서 에뮬레이터는 MyApp이라는 빈 앱을 실행 중입니다.In this example, the emulator is running a blank app called MyApp:

빈 앱을 실행 중인 에뮬레이터

에뮬레이터는 계속 실행될 수 있습니다. 즉 앱을 시작할 때마다 매번 종료하고 다시 시작하도록 기다리지 않아도 됩니다.The emulator may be left running: it is not necessary to shut it down and wait for it to restart each time the app is launched. 처음 Xamarin.Android 앱을 에뮬레이터에서 실행하면 대상 API 수준에 대한 Xamarin.Android 공유 런타임이 설치되고 이후 애플리케이션이 설치됩니다.The first time a Xamarin.Android app is run in the emulator, the Xamarin.Android shared runtime for the targeted API level is installed, followed by the application. 런타임 설치에는 몇 분 정도 걸릴 수 있으므로 기다려야 합니다.The runtime installation may take a few moments, so please be patient. 첫 번째 Xamarin.Android 앱이 에뮬레이터에 배포된 후에만 런타임 설치가 수행됩니다. – 이후의 배포는 앱만 에뮬레이터에 복사하는 것이므로 속도가 빨라집니다.Installation of the runtime takes place only when the first Xamarin.Android app is deployed to the emulator – subsequent deployments are faster because only the app is copied to the emulator.

빠른 부팅Quick Boot

최신 버전의 Android Emulator는 몇 초 이내에 에뮬레이터를 시작하는 _빠른 부팅_이라는 기능을 포함합니다.Newer versions of the Android Emulator include a feature called Quick Boot that launches the emulator in only a few seconds. 에뮬레이터를 닫을 때 다시 시작될 때 해당 상태에서 빠르게 복원될 수 있도록 가상 디바이스 상태의 스냅샷을 찍습니다.When you close the emulator, it takes a snapshot of the virtual device state so that it can be quickly restored from that state when it is restarted. 이 기능에 액세스하려면 다음이 필요합니다.To access this feature, you will need the following:

  • Android Emulator 버전 27.0.2 이상Android Emulator version 27.0.2 or later
  • Android SDK Tools 버전 26.1.1 이상Android SDK Tools version 26.1.1 or later

위에 나열된 버전의 에뮬레이터 및 SDK 도구가 설치되면 빠른 부팅 기능은 기본적으로 활성화됩니다.When the above-listed versions of the emulator and SDK tools are installed, the Quick Boot feature is enabled by default.

가상 디바이스의 첫 번째 콜드 부팅이 속도 향상 없이 발생됩니다. 스냅샷이 아직 생성되지 않았기 때문입니다.The first cold boot of the virtual device takes place without a speed improvement because a snapshot has not yet been created:

콜드 부팅 스크린샷

에뮬레이터를 종료하는 경우 빠른 부팅은 에뮬레이터의 상태를 스냅샷에 저장합니다.When you exit out of the emulator, Quick Boot saves the state of the emulator in a snapshot:

종료 시 상태 저장

에뮬레이터는 에뮬레이터를 닫았을 때의 상태를 단순히 복원하므로 후속 가상 디바이스 시작은 훨씬 빠릅니다.Subsequent virtual device starts are much faster because the emulator simply restores the state at which you closed the emulator.

다시 시작 시 상태 로드

문제 해결Troubleshooting

에뮬레이터의 일반적인 문제에 대한 팁 및 해결 방법은 Android Emulator 문제 해결을 참조하세요.For tips and workarounds for common emulator problems, see Android Emulator Troubleshooting.

요약Summary

이 가이드에서는 Xamarin.Android 앱을 실행하고 테스트하기 위해 Android Emulator를 구성하는 프로세스를 설명했습니다.This guide explained the process for configuring the Android Emulator to run and test Xamarin.Android apps. 미리 구성된 가상 디바이스를 사용하여 에뮬레이터를 시작하기 위한 단계를 설명하고, Visual Studio에서 에뮬레이터에 애플리케이션을 배포하기 위한 단계를 제공했습니다.It described the steps for launching the emulator using pre-configured virtual devices, and it provided the steps for deploying an application to the emulator from Visual Studio.

Android Emulator를 사용하는 방법에 대한 자세한 내용은 다음 Android 개발자 항목을 참조하세요.For more information about using the Android Emulator, see the following Android Developer topics: