고급 에뮬레이터 사용

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

기본적인 터치스크린 동작 및 휴대전화 움직임 이외의 기능을 사용하여 가상 기기에서 앱을 테스트해야 할 수도 있습니다. 예를 들어 여러 위치 또는 네트워크 조건을 시뮬레이션해야 할 수 있습니다. 이 페이지에서는 고급 에뮬레이터 기능과 Android 스튜디오로 에뮬레이터를 실행하는 다양한 방법을 설명합니다.

이 섹션의 다른 페이지에서는 에뮬레이터의 고급 사용 방법을 다루며, 이 방법에는 터미널 사용이 필요합니다. 보다 전문화된 사용 사례는 다음과 같습니다.

대부분의 앱 개발자는 기본 에뮬레이터 탐색 기능과 이 페이지에 설명된 기능으로 테스트 요구사항을 해결할 수 있습니다. 에뮬레이터와 상호작용하는 방법에 따라 에뮬레이터로 할 수 있는 작업을 비교하려면 에뮬레이터 기능 비교를 참고하세요.

스크린샷

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

표시되는 Screen Capture 대화상자에서 캡처된 이미지를 다시 캡처, 수정 또는 복사할 수 있습니다. 이미지가 만족스러우면 Save를 클릭합니다. 에뮬레이터가 Screenshot_yyyymmdd-hhmmss.png 이름으로 PNG 파일을 만듭니다. 이때 캡처한 연도, 월, 일, 시간, 분, 초를 사용합니다. 원하는 경우 이름을 변경하고 파일을 저장할 위치를 선택할 수 있습니다.

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

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

화면 녹화

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

화면 녹화 컨트롤은 Extended Controls 창의 Record and Playback 탭에 있습니다.

도움말: Control+Shift+R을 눌러 화면 녹화 컨트롤을 열 수 있습니다. macOS에서는 Command+Shift+R을 누릅니다.

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

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

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

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

카메라 지원

에뮬레이터는 이전 Android 버전의 가상 기기에서 기본 카메라 기능 사용을 지원합니다. Android 11 이상에서는 다음과 같은 Android Emulator 카메라 기능을 추가로 지원합니다.

  • RAW 캡처
  • YUV 재처리
  • 레벨 3 기기
  • 논리 카메라 지원
  • 센서 관리자의 데이터를 사용하여 센서 방향 에뮬레이션
  • 핸드셰이크 실행 빈도를 줄여 동영상 안정화 적용
  • 일반적으로 YUV 파이프라인에서 실행되는 확대를 제거하여 에지 개선 적용
  • 동시 카메라

가상 장면 카메라 및 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을 클릭하여 매크로를 중단할 수 있습니다.

별도의 창에서 에뮬레이터 실행

Android Emulator는 기본적으로 Android 스튜디오 내에서 실행됩니다. 이를 통해 화면 공간을 효율적으로 사용하고, 핫키를 사용하여 에뮬레이터와 편집기 창 간에 빠르게 이동하고, 단일 애플리케이션 창에서 IDE 및 에뮬레이터 워크플로를 구성할 수 있습니다.

그러나 일부 에뮬레이터 기능은 별도의 창에서 실행할 때만 사용할 수 있습니다. 에뮬레이터를 별도의 창에서 실행하려면 File > Settings > Tools > Emulator(macOS의 경우 Android 스튜디오 > Preferences > Tools > Emulator)로 이동하여 Launch in a tools window를 선택 해제합니다.

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

확장 컨트롤을 사용하여 데이터를 전송하고 기기 속성을 변경하며 앱을 제어하는 등의 작업을 실행할 수 있습니다. Extended controls 창을 열려면 에뮬레이터 패널에서 More 에뮬레이터 확장 컨트롤 아이콘를 클릭합니다. 이러한 확장 컨트롤 옵션 중 일부는 Android 스튜디오가 아닌 별도 창에서 에뮬레이터를 실행할 때만 사용할 수 있습니다.

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

표 1. 확장 컨트롤 세부정보

기능 설명
Location

에뮬레이터를 사용하면 에뮬레이션된 기기가 있는 '내 위치' 정보를 시뮬레이션할 수 있습니다. 예를 들어 Google 지도에서 내 위치 내 위치 아이콘를 클릭하고 위치를 보내면 지도가 해당 위치를 보여줍니다.

기기 위치 정보의 컨트롤은 Single pointsRoutes 탭에 구성되어 있습니다.

Single points

Single points 탭에서는 Google 지도 WebView를 사용하여 스마트폰이나 브라우저에서 Google 지도를 사용할 때와 마찬가지로 관심 장소를 검색할 수 있습니다. 지도에서 위치를 검색하거나 클릭할 때 지도 하단에서 Save point를 선택하여 위치를 저장할 수 있습니다. 저장된 모든 위치는 Extended controls 창 오른쪽에 표시됩니다.

에뮬레이터의 위치를 지도에서 선택한 위치로 설정하려면 Extended controls 창의 오른쪽 하단에 있는 Set location 버튼을 클릭하세요.

Routes

Single points 탭과 마찬가지로 Routes 탭에서는 두 개 이상의 위치 간에 경로를 만드는 데 사용할 수 있는 Google 지도 WebView를 제공합니다. 경로를 만들고 저장하려면 다음 단계를 따르세요.

  1. 지도뷰에서 텍스트 필드를 사용하여 경로의 첫 번째 목적지를 검색합니다.
  2. 검색결과에서 위치를 선택합니다.
  3. 탐색 버튼을 선택합니다.
  4. 지도에서 경로의 출발지를 선택합니다.
  5. (선택사항) 경로에 경유지를 추가하려면 Add destination을 클릭합니다.
  6. 지도뷰에서 Save route를 클릭하여 경로를 저장합니다.
  7. 경로 이름을 지정하고 Save를 클릭합니다.

저장한 경로를 따라 에뮬레이터를 시뮬레이션하려면 Saved routes 목록에서 경로를 선택하고 Extended controls 창의 오른쪽 하단에 있는 Play route를 클릭합니다. 시뮬레이션을 중지하려면 Stop route를 클릭합니다.

지정된 경로에 따라 에뮬레이터를 계속 시뮬레이션하려면 Repeat playback 옆에 있는 스위치를 사용 설정합니다. 에뮬레이터가 지정된 경로를 따라가는 속도를 변경하려면 Playback speed 메뉴에서 옵션을 선택합니다.

GPX 및 KML 데이터 가져오기

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

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

  5. Run 실행 아이콘을 클릭합니다.
디스플레이

에뮬레이터를 사용하면 맞춤설정 가능한 측정기준을 지원하는 여러 디스플레이에 앱을 배포하고 멀티 윈도우다중 디스플레이를 지원하는 앱을 테스트할 수 있습니다. 가상 기기가 실행되는 동안 다음과 같이 최대 두 개의 디스플레이를 추가할 수 있습니다.

  1. Add secondary display를 클릭하여 디스플레이를 추가합니다.
  2. Secondary displays 아래 메뉴에서 다음 작업 중 하나를 실행합니다.
    1. 미리 설정된 가로세로 비율 중 하나를 선택합니다.
    2. custom을 선택하고 맞춤 디스플레이의 height, width, dpi를 설정합니다.
  3. (선택사항) 세 번째 디스플레이를 추가하려면 Add secondary display를 다시 클릭합니다.
  4. Apply changes를 클릭하여 지정된 디스플레이를 실행 중인 가상 기기에 추가합니다.
모바일 데이터

에뮬레이터를 사용하여 다양한 네트워크 조건을 시뮬레이션할 수 있습니다. 다양한 네트워크 프로토콜의 네트워크 속도를 대략적으로 계산하거나 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)
배터리

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

Charger connection 값을 선택합니다.

  • None
  • AC charger

Battery health 값을 선택합니다.

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

Battery status 값을 선택합니다.

  • Unknown
  • Charging(기본값)
  • Discharging
  • Not charging
  • Full
카메라 에뮬레이터 카메라를 열 때 시뮬레이션된 장면에 사진을 로드할 수 있습니다. 자세한 내용은 ARCore 문서의 장면에 증강 이미지 추가를 참고하세요.
전화

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

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

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

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

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

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

방향 패드 컨트롤
마이크 가상 마이크가 호스트 오디오 입력을 사용하는 경우 에뮬레이터가 호스트 마이크의 오디오 입력을 수신합니다. 그러지 않으면 에뮬레이터가 어떠한 오디오 입력도 수신하지 않습니다. 현재 가상 헤드셋 플러그 삽입됨, 가상 헤드셋에 마이크가 있음, 음성 지원 옵션은 구현되어 있지 않습니다.
지문

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

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

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

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

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

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

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

기기를 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 필드가 그에 따라 변경됩니다. 앱이 이러한 값에 액세스할 수 있습니다.

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

Virtual sensors > Additional sensors

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

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

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

버그 신고 에뮬레이터에 문제가 발생하면 버그 신고를 준비하고 전송할 수 있습니다. 에뮬레이터는 버그 신고를 위한 스크린샷, 로그 및 기타 데이터를 자동으로 수집합니다.
녹화 및 재생 화면 녹화를 참고하세요.
Google Play AVD 시스템 이미지에 Play 스토어 앱이 포함되면 Google Play 서비스 버전 정보가 표시됩니다.
Settings > General
  • Emulator window theme: Light 또는 Dark를 선택합니다.
  • Send keyboard shortcuts to: 기본적으로 일부 키보드 조합은 에뮬레이터 컨트롤 단축키를 트리거합니다. 블루투스 키보드가 있는 기기를 타겟팅하는 앱과 같이 단축키가 포함된 앱을 개발하는 경우, 에뮬레이터에서 단축키로 사용되는 입력을 포함하여 모든 키보드 입력을 가상 기기로 보내도록 설정을 변경할 수 있습니다.
  • Screenshot save location: 폴더 아이콘을 클릭하여 에뮬레이터 화면의 스크린샷을 저장할 위치를 지정합니다.
  • Use detected ADB location: Android 스튜디오에서 에뮬레이터를 실행하는 경우 이 설정(기본값)을 선택합니다. Android 스튜디오 외부에서 에뮬레이터를 실행하고 특정 adb 실행 파일을 사용하려면 이 옵션을 선택 해제하고 SDK 도구 위치를 지정합니다. 이 설정이 올바르지 않으면 스크린샷 캡처 및 드래그 앤 드롭 앱 설치와 같은 기능이 작동하지 않습니다.
  • 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(macOS의 경우 Command+/)을 누르세요.

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

Help > Emulator Help

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

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

Help > About

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

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

앱을 실행하지 않고 에뮬레이터 실행하기

예를 들어 블루투스를 통해 페어링될 때 두 에뮬레이터 기기가 서로 상호작용하는 방식을 확인하려는 경우 앱을 실행하지 않고 에뮬레이터를 실행할 수 있습니다. 앱을 실행하지 않고 에뮬레이터를 실행하려면 다음 단계를 따르세요.

  1. 기기 관리도구를 엽니다.
  2. AVD를 더블클릭하거나 AVD를 선택하고 Run 을 클릭합니다. Android Emulator가 로드됩니다.

에뮬레이터가 실행되는 동안 Android 스튜디오 프로젝트를 실행하고 에뮬레이터를 대상 기기로 선택할 수 있습니다. 다음 섹션에 설명된 대로 하나 이상의 APK를 에뮬레이터에 설치한 다음 실행할 수도 있습니다.

파일 설치 및 추가

에뮬레이터의 Google Play 스토어에서 사용할 수 없는 앱을 사용하려면 APK 파일을 수동으로 설치하면 됩니다. APK 파일을 에뮬레이션된 기기에 설치하려면 APK 파일을 에뮬레이터 화면으로 드래그합니다. APK 설치 프로그램 대화상자가 나타납니다. 설치가 완료되면 앱 목록에서 앱을 볼 수 있습니다.

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

스냅샷

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

각 AVD에는 하나의 Quick Boot 스냅샷과 여러 일반 스냅샷이 있습니다.

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

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

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

스냅샷의 저장, 로드, 관리를 위한 대부분의 컨트롤은 Snapshots 창의 SnapshotsSettings 탭에 있습니다. Android 스튜디오의 도구 창에서 에뮬레이터를 실행 중이면 Snapshots 창 버튼이 에뮬레이터 툴바에 표시됩니다. Android 스튜디오 외부의 독립형 창에서 에뮬레이터를 실행하는 경우 Snapshots 창이 Extended controls 창에 표시됩니다.

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

Quick Boot 스냅샷 저장

닫을 때 에뮬레이터에서 스냅샷을 자동으로 저장할지 지정할 수 있습니다. 이 동작을 제어하려면 다음 단계에 따라 진행하세요.

  1. 스냅샷 설정을 엽니다. 에뮬레이터가 Android 스튜디오에 삽입되어 있으면 툴바에서 Snapshots를 클릭합니다. 에뮬레이터가 별도의 창에 있으면 Extended controls 창을 엽니다.
  2. 컨트롤의 Snapshots 카테고리에서 Settings 탭으로 이동합니다.
  3. Auto-save current state to Quickboot 메뉴를 사용하여 다음 옵션 중 하나를 선택합니다.

    • Yes: 에뮬레이터를 닫을 때 항상 AVD 스냅샷을 저장합니다. 이는 기본값입니다.

    • No: 에뮬레이터를 닫을 때 AVD 스냅샷을 저장하지 않습니다.

선택사항은 현재 열려 있는 AVD에만 적용됩니다. ADB가 오프라인일 때(예: AVD가 여전히 부팅 중일 때)는 스냅샷을 저장할 수 없습니다.

일반 스냅샷 저장

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

일반 스냅샷을 저장하려면 Snapshots 창을 열고 오른쪽 하단에서 Take snapshot 버튼을 클릭합니다.

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

스냅샷 삭제

수동으로 스냅샷을 삭제하려면 Snapshots 창을 열고 스냅샷을 선택한 다음 창 하단에서 삭제 버튼을 클릭합니다.

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

스냅샷 로드

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

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

Quick Boot 사용 중지

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

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

한 번 콜드 부팅

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

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

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

Wi-Fi

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

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

제한사항

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

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

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