Android Emulator에서 앱 실행

Android Emulator는 컴퓨터에서 Android 기기를 시뮬레이션함으로써 실제로 기기가 없어도 다양한 기기 및 Android API 레벨에서 애플리케이션을 테스트할 수 있습니다.

에뮬레이터는 실제 Android 기기의 거의 모든 기능을 제공합니다. 전화 및 SMS 수신, 여러 네트워크 속도, 회전 및 기타 하드웨어 센서를 시뮬레이션하고 기기의 위치를 지정하며 Google Play 스토어에 액세스하는 등 다양한 작업을 할 수 있습니다.

에뮬레이터에서 앱을 테스트하는 것은 실제 기기에서 하는 것보다 여러 면에서 더 빠르고 쉽습니다. 예를 들어 USB를 통해 연결된 기기보다 에뮬레이터로 데이터를 더 빠르게 전송할 수 있습니다.

에뮬레이터는 다양한 Android 스마트폰, 태블릿, Wear OS, Android TV 기기에 맞게 사전 정의된 구성으로 제공됩니다.

다음 동영상을 통해 에뮬레이터의 일부 기능을 간략하게 알아볼 수 있습니다.

에뮬레이터는 그래픽 사용자 인터페이스를 통해 사용하거나 명령줄과 에뮬레이터 콘솔을 통해 프로그래밍 방식으로 사용할 수 있습니다. 각 인터페이스로 사용 가능한 기능을 비교하려면 Android Emulator 도구 비교를 참조하세요.

요구사항 및 권장사항

Android Emulator에는 기본 Android 스튜디오의 시스템 요구사항 외에 추가 요구사항이 있습니다.

  • SDK Tools 26.1.1이상
  • 64비트 프로세서
  • Windows: UG(무제한 게스트)를 지원하는 CPU
  • HAXM 6.2.1 이상(HAXM 7.2.0 이상 권장)

하드웨어 가속을 사용하려면 Windows와 Linux에 추가적인 요구사항이 있습니다.

Android 8.1(API 레벨 27) 이상 시스템 이미지와 호환하려면 연결된 웹캠에 720p 프레임 캡처 기능이 있어야 합니다.

32비트 Windows 시스템 지원 중단

2019년 6월부터 Android Emulator는 32비트 Windows 시스템에서 지원 중단됩니다. 32비트 Windows 지원은 중요한 버그 수정을 포함하여 2020년 6월까지 계속되지만 새로운 기능은 추가되지 않습니다. 32비트 Windows 시스템에서 에뮬레이터를 사용하고 있다면 64비트 Windows 시스템으로 이전을 계획해야 합니다.

32비트 Windows 시스템에서 에뮬레이터를 사용하고 있다면 SDK Manager를 사용하여 최신 버전의 32비트 Windows용 에뮬레이터를 설치할 수 있습니다.

에뮬레이터 설치

Android Emulator를 설치하려면 SDK ManagerSDK Tools 탭에서 Android Emulator 구성요소를 선택합니다. 자세한 방법은 SDK Manager를 사용하여 도구 업데이트를 참조하세요.

Android 가상 기기

Android Emulator의 각 인스턴스는 Android 가상 기기(AVD)를 사용하여 시뮬레이션된 기기의 Android 버전과 하드웨어 특성을 지정합니다. 효과적으로 앱을 테스트하려면 앱이 실행될 각 기기를 모델링하는 AVD를 만들어야 합니다. AVD를 만들고 관리하려면 AVD Manager를 사용하세요.

각 AVD는 사용자 데이터, SD 카드 등을 위한 자체 비공개 저장소를 갖춘 독립 기기로서 작동합니다. 기본적으로 에뮬레이터는 사용자 데이터와 SD 카드 데이터, 캐시를 AVD 특정 디렉터리에 저장합니다. 에뮬레이터를 실행하면 AVD 디렉터리의 사용자 데이터와 SD 카드 데이터가 에뮬레이터에서 로드됩니다.

Android Emulator에서 앱 실행

Android 스튜디오 프로젝트에서 앱을 실행하거나, 기기에서 앱을 실행할 때와 같이 Android Emulator에 설치된 앱을 실행할 수 있습니다.

Android Emulator를 시작하고 프로젝트에서 앱을 실행하려면 다음 단계를 따르세요.

  1. Android 스튜디오 프로젝트를 열고 Run 을 클릭합니다.

    Select Deployment Target 대화상자가 표시됩니다.

  2. 대화상자 상단에 오류 또는 경고 메시지가 표시되면 링크를 클릭하여 문제를 해결하거나 자세한 정보를 얻습니다.

    No USB devices or running emulators detected 경고는 현재 에뮬레이터가 실행 중이지 않거나 컴퓨터에 연결된 하드웨어 기기가 감지되지 않았다는 의미입니다. 컴퓨터에 연결된 하드웨어 기기나 실행 중인 에뮬레이터가 없다면 이 메시지를 무시해도 됩니다.

    특정 Hardware Accelerated Execution Manager(Intel HAXM) 오류와 같이 일부 오류는 계속 진행하기 전에 반드시 해결해야 합니다.

    Mac의 경우 에뮬레이터를 시작할 때 Warning: No DNS servers found 오류가 표시된다면 /etc/resolv.conf 파일이 있는지 확인합니다. 파일이 없다면 터미널 창에 다음 명령어를 입력합니다.

        ln -s /private/var/run/resolv.conf /etc/resolv.conf
        
  3. Select Deployment Target 대화상자에서 기존 에뮬레이터 정의를 선택한 다음 OK를 클릭합니다.

    사용하려는 정의가 표시되지 않으면 Create New Virtual Device를 클릭하여 AVD Manager를 실행합니다. Select Deployment Target 대화상자에서 새로운 AVD를 정의한 다음 OK를 클릭합니다.

    이 에뮬레이터 정의를 프로젝트의 기본값으로 사용하려면 Use same selection for future launches를 선택합니다.

먼저 앱을 실행하지 않고 Android Emulator 실행

에뮬레이터를 시작하려면 다음 단계를 따르세요.

  1. AVD Manager를 엽니다.
  2. AVD를 더블클릭하거나 Run 을 클릭합니다.
  3. Android Emulator가 표시됩니다.

에뮬레이터가 실행되는 동안 Android 스튜디오 프로젝트를 실행하고 에뮬레이터를 타겟 기기로 선택할 수 있습니다. 하나 이상의 APK를 에뮬레이터로 드래그하여 설치한 다음 실행할 수도 있습니다.

파일 설치 및 추가

APK 파일을 에뮬레이션된 기기에 설치하려면 APK 파일을 에뮬레이터 화면으로 드래그합니다. APK 설치 프로그램 대화상자가 표시됩니다. 설치가 완료되면 앱 목록에서 앱을 볼 수 있습니다.

에뮬레이션된 기기에 파일을 추가하려면 파일을 에뮬레이터 화면으로 드래그합니다. 파일은 /sdcard/Download/ 디렉터리에 배치됩니다. Device File Explorer를 사용하여 Android 스튜디오에서 파일을 보거나 기기 버전에 따라 Downloads 또는 Files 앱을 사용하여 기기에서 찾을 수 있습니다.

스냅샷

스냅샷은 OS 설정과 애플리케이션 상태, 사용자 데이터를 포함하여 기기가 저장될 때의 기기의 전체 상태를 보존하는 AVD(Android 가상 기기)의 저장된 이미지입니다. 선택할 때마다 스냅샷을 로드하여 저장된 시스템 상태로 돌아갈 수 있으므로 가상 기기에서 운영체제 및 애플리케이션이 다시 시작되기를 기다리지 않아도 되고, 앱을 테스트를 재개하려는 상태로 다시 가져오지 않아도 됩니다. 스냅샷을 로드하여 가상 기기를 시작하는 것은 실제 기기를 전원이 꺼진 상태에서 부팅하는 것이 아니라 절전 모드 상태에서 깨우는 것과 매우 유사합니다.

각 AVD에는 하나의 Quick Boot(빠른 부팅) 스냅샷과 여러 일반 스냅샷이 있습니다.

스냅샷을 활용하는 가장 간단한 방법은 Quick Boot 스냅샷을 사용하는 것입니다. 기본적으로 각 AVD는 종료 시 Quick Boot 스냅샷을 자동으로 저장하고 시작 시 Quick Boot 스냅샷에서 로드하도록 설정됩니다.

AVD는 처음 시작되면 기기 전원을 켜는 것처럼 콜드 부팅을 실행해야 합니다. Quick Boot이 사용 설정되면 이후의 모든 시작이 지정된 스냅샷에서 로드되고 시스템은 스냅샷에 저장된 상태로 복원됩니다.

스냅샷은 시스템 이미지, AVD 구성, 함께 저장된 에뮬레이터 기능에 유효합니다. 이러한 영역을 변경하면 영향을 받는 AVD의 모든 스냅샷이 무효가 됩니다. Android Emulator나 시스템 이미지, AVD 설정을 업데이트하면 AVD의 저장된 상태가 재설정되어 다음에 AVD를 시작할 때 콜드 부팅을 실행해야 합니다.

스냅샷의 저장 및 로드, 관리를 위한 컨트롤은 대부분 에뮬레이터의 Extended controls 창의 Snapshots 창에 있습니다.

명령줄에서 에뮬레이터를 시작할 때 Quick Boot 옵션을 제어할 수도 있습니다.

Quick Boot 스냅샷 저장

종료 시 에뮬레이터가 현재 열려 있는 AVD의 스냅샷을 자동으로 저장할지 여부를 제어하려면 에뮬레이터의 Extended controls 창에서 Snapshots 카테고리의 Settings 탭에 있는 Save quick-boot state on exit 메뉴를 사용하세요.

  • Yes: 에뮬레이터를 닫을 때 항상 AVD 스냅샷을 저장합니다. 이는 기본값입니다.
  • No: 에뮬레이터를 닫을 때 AVD 스냅샷을 저장하지 않습니다.
  • Ask: 에뮬레이터를 닫을 때 AVD 스냅샷을 저장할지 여부를 묻는 메시지를 표시합니다.

선택사항은 현재 열려 있는 AVD에만 적용됩니다.

Save quick-boot state on exit 메뉴에서 Yes를 선택하지 않아 종료 시 스냅샷을 자동으로 저장하도록 하지 않은 경우, 이 메뉴 아래의 Save Now 버튼을 사용하여 언제든지 Quick Boot 스냅샷을 저장할 수 있습니다.

ADB가 오프라인일 때(예: Android가 여전히 부팅 중일 때)는 스냅샷을 저장할 수 없습니다.

일반 스냅샷 저장

Quick Boot 스냅샷은 각 AVD당 하나만 있을 수 있지만, 일반 스냅샷은 여러 개 있을 수 있습니다.

일반 스냅샷을 저장하려면 에뮬레이터의 Extended controls 창을 열고 Snapshots 카테고리를 선택한 다음 창 오른쪽 하단에 있는 Take snapshot 버튼을 클릭하세요.

선택한 스냅샷의 이름과 설명을 수정하려면 창 하단에서 수정 버튼을 클릭하세요.

스냅샷 삭제

수동으로 스냅샷을 삭제하려면 에뮬레이터의 Extended controls 창을 열고 Snapshots 카테고리를 선택하여 스냅샷을 선택한 다음 창 하단에서 삭제 버튼을 클릭합니다.

AVD 설정이나 에뮬레이터 버전이 변경될 때와 같이 스냅샷이 무효하게 될 때 에뮬레이터가 자동으로 스냅샷을 삭제하게 할지 여부를 지정할 수도 있습니다. 기본적으로 에뮬레이터는 무효한 스냅샷을 삭제할 것인지 묻습니다. Snapshots 창의 Settings 탭에 있는 Delete invalid snapshots 메뉴로 이 설정을 변경할 수 있습니다.

스냅샷 로드

언제든지 스냅샷을 로드하려면 에뮬레이터의 Extended controls 창을 열고 Snapshots 카테고리를 선택하여 스냅샷을 선택한 다음 창 하단에서 로드 버튼을 클릭합니다.

Android 스튜디오 3.2 이상의 각 기기 설정에는 AVD를 시작할 때 로드할 스냅샷을 지정하는 Virtual Device Configuration 대화상자의 고급 설정에 Boot option 컨트롤이 포함되어 있습니다.

Quick Boot 사용 중지

AVD가 항상 콜드 부팅을 실행하도록 Quick Boot을 사용 중지하려면 다음 단계를 따르세요.

  1. Tools > AVD Manager를 선택한 다음 Edit this AVD 를 클릭합니다.
  2. Show Advanced Settings를 클릭한 후 Emulated Performance까지 아래로 스크롤합니다.
  3. Cold boot를 선택합니다.

한 번 콜드 부팅

Quick Boot을 완전히 사용 중지하는 대신 AVD Manager의 AVD 드롭다운 메뉴에서 Cold Boot Now를 클릭하여 한 번만 콜드 부팅할 수 있습니다.

스냅샷 요구사항 및 문제해결

  • 스냅샷은 Android 4.0.4(API 레벨 15) 이하와 호환되지 않습니다.
  • 스냅샷은 Android 8.0(API 레벨 26)용 ARM 시스템 이미지와 호환되지 않습니다.
  • 에뮬레이터가 스냅샷에서 부팅되지 않으면 AVD Manager에서 AVD Cold Boot Now를 선택한 다음 버그 신고서를 제출하세요.
  • 스냅샷은 소프트웨어 렌더링이 사용 설정된 경우 신뢰할 수 없습니다. 스냅샷이 작동하지 않으면 AVD Manager에서 Edit this AVD 를 클릭한 다음 GraphicsHardware 또는 Automatic으로 변경합니다.
  • 스냅샷 로드 또는 저장은 메모리를 많이 사용하는 작업입니다. 로드 또는 저장 작업이 시작될 때 RAM 여유 공간이 충분하지 않으면 운영체제가 RAM 콘텐츠를 하드 디스크로 교환하여 작업 속도를 크게 저하할 수 있습니다. 스냅샷 로드 또는 저장이 매우 느리다면 RAM의 여유 공간을 확보하여 작업 속도를 높일 수 있습니다. 작업에 꼭 필요하지 않은 애플리케이션을 닫는 것이 RAM을 비우는 좋은 방법입니다.

컴퓨터 마우스 포인터를 사용하여 터치스크린에서의 손가락 움직임을 모방합니다. 메뉴 항목과 입력 필드를 선택하고 버튼과 컨트롤을 클릭합니다. 컴퓨터 키보드를 사용하여 문자를 입력하고 에뮬레이터 단축키를 입력합니다.

표 1. 에뮬레이터 화면을 탐색하는 동작

기능 설명
화면 스와이프 화면을 가리키고 기본 마우스 버튼을 길게 누른 채 화면을 가로질러 스와이프한 다음 누름을 해제합니다.
항목 드래그 화면에서 항목을 가리키고 기본 마우스 버튼을 길게 누른 상태에서 항목을 이동한 다음 누름을 해제합니다.
(터치)
화면을 가리키고 기본 마우스 버튼을 눌렀다가 놓습니다. 예를 들어, 텍스트 필드를 클릭하여 입력을 시작하거나 앱을 선택하거나 버튼을 누를 수 있습니다.
두 번 탭 화면을 가리키고 기본 마우스 버튼을 빠르게 두 번 눌렀다가 놓습니다.
길게 터치 화면의 항목을 가리키고 기본 마우스 버튼을 길게 눌렀다가 놓습니다. 예를 들어 항목의 옵션을 열 수 있습니다.
입력 컴퓨터 키보드를 사용하거나 에뮬레이터 화면에 표시되는 키보드를 사용하여 에뮬레이터에 입력할 수 있습니다. 예를 들어 텍스트 필드를 선택한 후 입력할 수 있습니다.
손가락 모으기 및 넓히기
Control(Mac의 경우 Command)을 누르면 손가락 모으기 동작 멀티 터치 인터페이스가 표시됩니다. 마우스가 첫 번째 손가락 역할을 하고, 앵커 포인트 건너편이 두 번째 손가락입니다. 커서를 드래그하여 첫 번째 지점을 이동합니다.
마우스 왼쪽 버튼을 클릭하면 두 지점을 모두 터치하는 것과 같고 누름을 해제하면 두 지점을 모두 선택하는 것과 같은 역할을 합니다.
수직 스와이프 화면에서 수직 메뉴를 열고 스크롤 휠(마우스 휠)을 사용하여 원하는 항목이 나올 때까지 메뉴 항목을 스크롤합니다. 메뉴 항목을 클릭하여 선택합니다.

에뮬레이터에서 일반적인 작업 실행

에뮬레이터로 일반적인 작업을 실행하려면 표 2에 설명된 것처럼 오른쪽 패널을 사용하세요.

단축키를 사용하여 에뮬레이터에서 많은 일반적인 작업을 실행할 수 있습니다. 에뮬레이터의 전체 단축키 목록을 보려면 F1(Mac의 경우 Command+/)을 눌러 Extended controls 창에서 Help 창을 엽니다.

표 2. 에뮬레이터의 일반적인 작업

기능 설명
닫기
닫기 아이콘
에뮬레이터를 닫습니다.
최소화
최소화 아이콘
에뮬레이터 창을 최소화합니다.
크기 조절 다른 운영체제 창과 마찬가지로 에뮬레이터의 크기를 조절합니다. 에뮬레이터는 사용자의 기기에 적합한 가로세로 비율을 유지합니다.
전원
전원 아이콘
화면을 켜거나 끄려면 클릭합니다.
기기를 켜거나 끄려면 길게 클릭합니다.
볼륨 업 버튼
볼륨 업 버튼 아이콘
이 아이콘을 클릭하여 슬라이더 컨트롤을 표시하고 볼륨을 높입니다. 다시 한번 클릭하여 볼륨을 더 높이거나, 슬라이더 컨트롤을 사용하여 볼륨을 변경합니다.
볼륨 다운 버튼
볼륨 다운 버튼 아이콘
이 아이콘을 클릭하여 슬라이더 컨트롤을 표시하고 볼륨을 낮춥니다. 다시 한번 클릭하여 볼륨을 더 낮추거나, 슬라이더 컨트롤을 사용하여 볼륨을 변경합니다.
왼쪽으로 회전
왼쪽으로 회전 아이콘
기기를 시계 반대 방향으로 90도 회전합니다.
오른쪽으로 회전
오른쪽으로 회전 아이콘
기기를 시계 방향으로 90도 회전합니다.
스크린샷 촬영
스크린샷 촬영 아이콘
이 아이콘을 클릭하여 기기의 스크린샷을 촬영합니다. 자세한 내용은 스크린샷을 참조하세요.
확대/축소 모드 진입
확대/축소 모드 진입 아이콘

클릭하면 커서가 확대/축소 아이콘으로 변경됩니다. 확대/축소 모드를 종료하려면 버튼을 다시 클릭합니다.

확대/축소 모드에서 확대 및 축소

  • 화면을 마우스 왼쪽 버튼으로 클릭하면 25% 확대되며, 가상 기기의 화면 해상도의 최대 약 2배까지 확대됩니다.
  • 마우스 오른쪽 버튼을 클릭하여 축소합니다.
  • 마우스 왼쪽 버튼을 클릭하고 드래그하여 확대할 상자 모양의 영역을 선택합니다.
  • 마우스 오른쪽 버튼을 클릭하고 선택 상자를 드래그하여 기본 확대/축소로 재설정합니다.

확대/축소 모드로 이동하려면 키보드의 화살표 키를 누른 상태에서 Control(Mac의 경우 Command)을 누릅니다.

확대/축소 모드에서 기기 화면을 탭하려면 Control 키를 누른 상태에서 클릭합니다(Mac의 경우 Command 키를 누른 상태에서 클릭).

뒤로
뒤로 아이콘
이전 화면으로 돌아가거나 대화상자, 옵션 메뉴, 알림 패널 또는 터치 키보드를 닫습니다.

홈 아이콘
홈 화면으로 돌아갑니다.
개요
개요 아이콘
(최근 앱)
이 아이콘을 탭하여 최근 작업한 앱의 미리보기 이미지 목록을 엽니다. 앱을 열려면 탭합니다. 목록에서 미리보기를 삭제하려면 왼쪽 또는 오른쪽으로 스와이프하세요. 이 버튼은 Wear OS에서는 지원되지 않습니다.
접기
접기 아이콘
폴더블 기기의 경우 기기를 접어 작은 화면 구성을 표시합니다.
펼치기
펼치기 아이콘
폴더블 기기의 경우 기기를 펼쳐 큰 화면 구성을 표시합니다.
메뉴 Control+M(Mac의 경우 Command+M)을 눌러 메뉴 버튼을 시뮬레이션합니다.
더보기
추가 정보 아이콘
이 아이콘을 클릭하여 다음 표에 설명된 기타 기능과 설정에 액세스합니다.

화면 녹화

이제 Android Emulator에서 동영상 및 오디오를 녹화/녹음하고 녹화/녹음 파일을 WebM 또는 애니메이션 GIF 파일로 저장할 수 있습니다.

화면 녹화 컨트롤은 Extended Controls 창의 Screen record 탭에 있습니다.

도움말: Control+Shift+R(Mac의 경우 Command+Shift+R)을 눌러 화면 녹화 컨트롤을 열 수도 있습니다.

화면 녹화를 시작하려면 Screen record 탭에서 Start recording 버튼을 클릭합니다. 녹화를 중지하려면 Stop recording을 클릭합니다.

녹화된 동영상을 재생하거나 저장하는 컨트롤은 Screen record 탭의 하단에 있습니다. 동영상을 저장하려면 탭 하단의 메뉴에서 WebM 또는 GIF를 선택하고 Save를 클릭합니다.

명령줄에서 다음 명령어를 사용하여 에뮬레이터에서 화면 녹화 파일을 기록하고 저장할 수도 있습니다.

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

스크린샷

가상 기기의 스크린샷을 찍으려면 Take screenshot 스크린샷 촬영 아이콘 버튼을 클릭합니다.

에뮬레이터는 캡처한 연도, 월, 일, 시, 분, 초를 사용하여 Screenshot_yyyymmdd-hhmmss.png 이름으로 PNG 파일을 만듭니다. 예를 들어 Screenshot_20160219-145848.png입니다.

기본적으로 스크린샷은 컴퓨터 바탕화면에 저장됩니다. 스크린샷이 저장되는 위치를 변경하려면 에뮬레이터의 Extended controls 창의 Settings 카테고리에서 Screenshot save location 컨트롤을 사용합니다.

명령줄에서 다음 명령어 중 하나를 사용하여 스크린샷을 촬영할 수도 있습니다.

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

가상 장면 카메라 및 ARCore

가상 환경에서 가상 장면 카메라를 사용하여 ARCore로 만든 증강 현실(AR) 앱을 실험할 수 있습니다.

에뮬레이터에서 가상 장면 카메라 사용하기에 관한 자세한 내용은 Android Emulator에서 AR 앱 실행을 참조하세요.

카메라 앱으로 에뮬레이터를 사용하는 경우 PNG 또는 JPEG 형식으로 이미지를 가져와 가상 장면에 사용할 수 있습니다. 가상 장면에 사용할 이미지를 선택하려면 Extended controls 창의 Camera > Virtual scene images 탭에서 Add image를 클릭합니다. 이 기능은 사용자설정 이미지(예: 카메라 기반 앱에서 사용할 QR 코드)를 가져오는 데 사용될 수 있습니다. 자세한 내용은 장면에 증강 이미지 추가를 참조하세요.

매크로를 사용하여 일반적인 AR 작업 테스트

에뮬레이터에서 미리 설정된 매크로를 사용하여 일반적인 AR 작업 테스트에 걸리는 시간을 크게 줄일 수 있습니다. 예를 들어 모든 기기의 센서를 기본 상태로 재설정하는 데 매크로를 사용할 수 있습니다.

매크로를 사용하기 전에 Android Emulator에서 AR 앱 실행 단계에 따라 앱의 가상 장면 카메라를 설정하고 에뮬레이터에서 앱을 실행하며 ARCore를 업데이트합니다. 그리고 다음 단계에 따라 에뮬레이터 매크로를 사용합니다.

  1. 에뮬레이터가 실행 중이고 앱이 ARCore에 연결되어 있으면 에뮬레이터 패널에서 More 를 클릭합니다.
  2. Record and Playback > Macro Playback을 선택합니다.
  3. 사용하려는 매크로를 선택한 다음 Play를 클릭합니다.

    재생 중에 Stop을 클릭하여 매크로를 중단할 수 있습니다.

확장 컨트롤, 설정, 도움말

Extended controls를 사용하여 데이터를 전송하고 기기 속성을 변경하며 앱을 제어하는 등의 작업을 실행할 수 있습니다. Extended controls 창을 열려면 에뮬레이터 패널에서 More 를 클릭합니다.

단축키를 사용하여 이러한 많은 작업을 실행할 수 있습니다. 에뮬레이터의 전체 단축키 목록을 보려면 F1(Mac의 경우 Command+/)을 눌러 도움말 창을 엽니다.

표 3. Extended controls 세부정보

기능 설명
Location

에뮬레이터를 사용하면 '내 위치' 정보(에뮬레이션된 기기가 현재 위치하는 장소)를 시뮬레이션 할 수 있습니다. 예를 들어 Google 지도에서 내 위치 내 위치 아이콘를 클릭한 다음 위치를 전송하면 지도에 위치가 표시됩니다.

GPS 위치를 전송하려면 다음 단계를 따르세요.

  1. Decimal 또는 Sexagesimal을 선택합니다.
  2. 위치를 지정합니다.
  3. Decimal(십진수) 모드에서 -90.0 ~ +90.0도 범위의 위도 값과 -180.0 ~ +180.0도 범위의 경도 값을 입력합니다.

    Sexagesimal(육십진수) 모드에서 -90 ~ +90도, 0 ~ 59분, 0.0 ~ 60.0초 범위의 세 부분으로 된 위도 값을 입력합니다. -180 ~ +180도, 0 ~ 59분 및 0.0 ~ 60.0초 범위의 경도 값을 입력합니다.

    위도의 경우 -가 남쪽, +가 북쪽을 나타내며 경도의 경우 -가 서쪽, +가 동쪽을 나타냅니다. +는 선택사항입니다.

    선택적으로 -1,000.0 ~ +10,000.0m 범위의 고도 값을 지정합니다.

  4. Send를 클릭합니다.

GPS 교환 형식(GPX) 또는 Keyhole 마크업 언어(KML) 파일의 지리 데이터를 사용하려면 다음 단계를 따르세요.

  1. Load GPX/KML을 클릭합니다.
  2. 파일 대화상자에서 컴퓨터의 파일을 선택하고 Open을 클릭합니다.
  3. Speed를 선택합니다(선택사항).
  4. 속도는 기본적으로 Delay 값(Speed 1X)으로 설정됩니다. 속도를 두 배 (Speed 2X), 세 배(Speed 3X) 등으로 늘릴 수 있습니다.

  5. Run 을 클릭합니다.
Cellular

에뮬레이터를 사용하여 다양한 네트워크 조건을 시뮬레이션할 수 있습니다. 다양한 네트워크 프로토콜의 네트워크 속도를 대략적으로 계산하거나 Full을 지정하여 컴퓨터에서 허용되는 가장 빠른 속도로 데이터를 전송할 수 있습니다. 네트워크 프로토콜을 지정하면 항상 Full보다 느립니다. 음성과 데이터 네트워크 상태를 지정할 수도 있습니다(예: 로밍). 기본값은 AVD에 설정됩니다.

Network type을 선택합니다.

  • GSM: Global System for Mobile Communications
  • HSCSD: High-Speed Circuit-Switched Data
  • GPRS: Generic Packet Radio Service
  • EDGE: Enhanced Data rates for GSM Evolution
  • UMTS: Universal Mobile Telecommunications System
  • HSPDA: High-Speed Downlink Packet Access
  • LTE: Long-Term Evolution
  • Full(기본값): 컴퓨터에서 제공한 네트워크를 사용합니다.

Signal strength를 선택합니다.

  • None
  • Poor
  • Moderate(기본값)
  • Good
  • Great

Voice statusData status 또는 둘 다 선택합니다.

  • Home(기본값)
  • Roaming
  • Searching
  • Denied (emergency calls only)
  • Unregistered (off)
Battery

기기의 배터리 속성을 시뮬레이션하여 다양한 조건에서 앱의 성능을 확인할 수 있습니다. Charge level을 선택하려면 슬라이더 컨트롤을 사용합니다.

Charger connection 값을 선택합니다.

  • None
  • AC charger

Battery health 값을 선택합니다.

  • Good(기본값)
  • Failed
  • Dead
  • Overvoltage
  • Overheated
  • Unknown

Battery status 값을 선택합니다.

  • Unknown
  • Charging(기본값)
  • Discharging
  • Not charging
  • Full
Phone

에뮬레이터를 사용하면 전화와 SMS 수신을 시뮬레이션할 수 있습니다.

에뮬레이터에 전화를 걸려면 다음 단계를 따르세요.

  1. From 필드에서 전화번호를 선택하거나 입력합니다.
  2. Call Device를 클릭합니다.
  3. 선택적으로 Hold Call을 클릭하여 통화를 보류합니다.
  4. 통화를 종료하려면 End Call을 클릭합니다.

에뮬레이터에 SMS를 보내려면:

  1. From 필드에서 전화번호를 선택하거나 입력합니다.
  2. SMS message 필드에 메시지를 입력합니다.
  3. Send Message를 클릭합니다.
Directional Pad

AVD에 하드웨어 프로필에서 사용 설정된 방향 패드가 있는 경우 에뮬레이터에서 방향 패드 컨트롤을 사용할 수 있습니다. 그러나 방향 패드를 지원하지 않는 기기도 있습니다(예: Android 시계). 버튼은 다음 작업을 시뮬레이션합니다.

방향 패드 컨트롤
Fingerprint

이 컨트롤은 10가지 다른 디지털 지문 검사를 시뮬레이션할 수 있습니다. 이 컨트롤을 사용하여 앱에서 디지털 지문 통합을 테스트할 수 있습니다. 이 기능은 Android 5.1(API 레벨 22) 이하 및 Wear OS에서는 사용 중지됩니다.

가상 기기에서 디지털 지문 검색을 시뮬레이션하려면 다음 단계를 따르세요.

  1. 디지털 지문을 수신할 앱을 준비합니다.
  2. Fingerprint 값을 선택합니다.
  3. Touch Sensor를 클릭합니다.
Virtual sensors > Accelerometer

이 컨트롤을 사용하면 기기 위치, 방향 또는 둘 다의 변경사항에 앱을 테스트 할 수 있습니다. 예를 들어 틸트 및 회전과 같은 동작을 시뮬레이션할 수 있습니다. 가속도계는 기기의 절대 위치를 추적하지 않으며 변경사항이 발생하는 시기만 감지합니다. 이 컨트롤은 실제 기기를 이동하거나 회전할 때 가속도계와 자기계 센서가 반응하는 방식을 시뮬레이션합니다.

이 컨트롤을 사용하려면 AVD의 가속도계 센서를 사용 설정해야 합니다.

이 컨트롤은 x, y, z 축의 TYPE_ACCELEROMETER 이벤트를 보고합니다. 이 값에는 중력이 포함됩니다. 예를 들어 기기가 우주 공간에서 정지되어 있으면 가속도가 0이 됩니다(x, y, z 모두 0이 됨). 기기가 지구에 있고 테이블에 화면을 위로한 채 놓여 있다면 중력으로 인해 가속도가 0, 0, 9.8이 됩니다.

이 컨트롤은 TYPE_MAGNETIC_FIELD 이벤트도 보고하며 이것은 x, y, z축의 주변 자기장을 마이크로 테슬라(μT) 단위로 측정합니다.

기기를 x, y, z축을 중심으로 회전하려면 Rotate를 선택한 후 다음 중 하나를 실행합니다.

  • Yaw, Pitch, Roll 슬라이더를 조정하고 상단 창에서 위치를 관찰합니다.
  • 상단 창에서 기기 표현을 이동하고 Yaw, Pitch, Roll 및 결과 가속도계값이 어떻게 변경되는지 관찰합니다.

Yaw, Pitch, Roll 의 계산 방법에 관한 자세한 내용은 기기 방향 계산을 참조하세요.

기기를 수평(x) 또는 수직(y)으로 이동하려면 Move를 선택하고 다음 중 하나를 실행하세요.

  • XY 슬라이더를 조정하고 상단 창에서 위치를 관찰합니다.
  • 상단 창에서 기기 표현을 이동하고 XY 슬라이더값과 결과 가속도계값이 어떻게 변경되는지 관찰합니다.

기기 위치를 0도, 90도, 180도 또는 270도로 회전하려면 다음 단계를 따르세요.

  • Device rotation 영역에서 버튼을 선택하여 회전을 변경합니다.

기기를 조정하면 Resulting values 필드가 그에 따라 변경됩니다. 앱이 이러한 값에 액세스할 수 있습니다.

이러한 센서에 관한 자세한 내용은 센서 개요, 움직임 감지 센서, 위치 센서를 참조하세요.

AccelerometerPlay 앱을 가져와 Accelerometer 컨트롤을 사용해 볼 수 있습니다. File > New > Import Sample을 선택한 다음 대화상자에서 앱을 선택합니다. 이 앱은 이 페이지의 에뮬레이터 동영상에 소개되어 있습니다.

Virtual sensors > Additional sensors

에뮬레이터는 다양한 위치 및 환경 센서를 시뮬레이션할 수 있습니다. 에뮬레이터를 사용하면 다음 센서를 조정하여 앱에서 테스트할 수 있습니다.

  • Ambient temperature: 이 환경 센서는 주변 공기 온도를 측정합니다.
  • Magnetic field: 이 위치 센서는 X, Y, Z축의 주변 자기장을 각각 측정합니다. 값은 마이크로 테슬라(μT) 단위입니다.
  • Proximity: 이 위치 센서는 개체로부터의 거리를 측정합니다. 예를 들어 전화를 걸기 위해 얼굴이 가까이 있다는 것을 휴대전화에 알릴 수 있습니다. 이 컨트롤을 사용하려면 근접 센서가 AVD에서 사용 설정되어 있어야 합니다.
  • Light: 이 환경 센서는 조도를 측정합니다. 값은 럭스 단위입니다.
  • Pressure: 이 환경 센서는 주변 기압을 측정합니다. 값은 밀리바(hPa) 단위입니다.
  • Relative Humidity: 이 환경 센서는 주변 상대 습도를 측정합니다.

이 센서들에 관한 자세한 내용은 센서 개요, 위치 센서, 환경 센서를 참조하세요.

Snapshots 스냅샷을 참조하세요.
Screen record 화면 녹화를 참조하세요.
Settings > General
  • Emulator window theme: Light 또는 Dark를 선택합니다.
  • Send keyboard shortcuts to: 기본적으로 일부 키보드 조합은 에뮬레이터 컨트롤 단축키를 트리거합니다. 블루투스 키보드가 있는 기기를 타겟팅하는 앱과 같이 단축키가 포함된 앱을 개발하는 경우, 에뮬레이터에서 단축키로 사용되는 입력을 포함하여 모든 키보드 입력을 가상 기기로 보내도록 설정을 변경할 수 있습니다.
  • Screenshot save location: 폴더 아이콘을 클릭하여 에뮬레이터 화면의 스크린샷을 저장할 위치를 지정합니다.
  • Use detected ADB location: Android 스튜디오에서 에뮬레이터를 실행하는 경우 이 설정(기본값)을 선택해야 합니다. Android 스튜디오 외부에서 에뮬레이터를 실행하고 특정 adb 실행 파일을 사용하려면 이 옵션을 선택 해제하고 SDK Tools 위치를 지정합니다. 이 설정이 올바르지 않으면 스크린샷 캡처 및 드래그 앤 드롭 앱 설치와 같은 기능이 작동하지 않습니다.
  • When to send crash reports: Always, Never 또는 Ask를 선택합니다.
  • Show window frame around device: 기본적으로 기기 스킨 파일이 있는 에뮬레이터는 주변 창 프레임 없이 표시됩니다.
Settings > Proxy

기본적으로 에뮬레이터는 Android 스튜디오 HTTP 프록시 설정을 사용하지만 이 화면에서 에뮬레이터의 HTTP 프록시 구성을 수동으로 정의할 수 있습니다. 자세한 내용은 프록시로 에뮬레이터 사용하기를 참조하세요.

Settings > Advanced
  • OpenGL ES renderer: 그래픽 가속 유형을 선택합니다. 이것은 -gpu 명령줄 옵션과 같습니다.
    • Autodetect based on host: 에뮬레이터가 컴퓨터 설정에 기반해 하드웨어 또는 소프트웨어 그래픽 가속을 선택하도록 합니다. GPU 드라이버가 알려진 결함이 있는 GPU 드라이버 목록과 일치하는지 확인하고 일치하는 경우 에뮬레이터가 그래픽 하드웨어 에뮬레이션을 사용 중지하고 대신 CPU를 사용합니다.
    • ANGLE: (Windows의 경우만) ANGLE Direct3D를 사용하여 소프트웨어에서 그래픽을 렌더링합니다.
    • SwiftShader: SwiftShader를 사용하여 소프트웨어에서 그래픽을 렌더링합니다.
    • Desktop native OpenGL: 호스트 컴퓨터에서 GPU를 사용합니다. 이 옵션은 일반적으로 가장 빠릅니다. 그러나 일부 드라이버에는 OpenGL 그래픽 렌더링에 문제가 있으므로 신뢰할 수 있는 옵션이 아닐 수 있습니다.
  • OpenGL ES API level: 에뮬레이터에서 사용할 최대 OpenGL ES 버전을 선택합니다.
    • Autoselect: 에뮬레이터가 호스트 및 게스트 지원에 기반해 OpenGL ES 버전을 선택하도록 합니다.
    • Renderer maximum(up to OpenGL ES 3.1): 최대 버전의 OpenGL ES를 사용하려고 합니다.
    • Compatibility(OpenGL ES 1.1/2.0): 대부분의 환경과 호환되는 OpenGL ES 버전을 사용합니다.
Help > Keyboard Shortcuts

이 창은 에뮬레이터의 전체 단축키 목록을 제공합니다. 에뮬레이터에서 작업하는 동안 이 창을 열려면 F1(Mac의 경우 Command+/)을 누르세요.

단축키가 작동하려면 General 설정 창의 Send keyboard shortcuts 옵션이 Emulator controls(default)로 설정되어 있어야 합니다.

Help > Emulator Help

에뮬레이터에 관한 온라인 문서로 이동하려면 Documentation을 클릭합니다.

에뮬레이터 버그를 신고하려면 Send feedback을 클릭하세요. 자세한 내용은 에뮬레이터 버그를 신고하는 방법을 참조하세요.

Help > About

에뮬레이터가 사용하는 adb 포트와 Android 및 에뮬레이터 버전 번호를 확인합니다. 사용 가능한 최신 에뮬레이터 버전을 내 버전과 비교하여 최신 소프트웨어가 설치되어 있는지 확인합니다.

에뮬레이터 일련번호는 emulator-adb_port이며 adb 명령줄 옵션 등으로 지정할 수 있습니다.

Wi-Fi

API 레벨 25 이상의 AVD를 사용할 때 에뮬레이터는 시뮬레이션된 Wi-Fi 액세스 포인트('AndroidWifi')를 제공하며 Android는 자동으로 이것에 연결됩니다.

명령줄 매개변수 -feature -Wifi로 에뮬레이터를 실행하여 에뮬레이터에서 Wi-Fi를 사용 중지할 수 있습니다.

제한사항

Android Emulator에는 다음의 가상 하드웨어가 포함되어 있지 않습니다.

  • 블루투스
  • NFC
  • SD 카드 삽입/꺼내기
  • 기기에 연결된 헤드폰
  • USB

Wear OS용 시계 에뮬레이터는 개요(최근 앱) 버튼, D패드, 지문 센서를 제공하지 않습니다.