명령줄에서 에뮬레이터 시작

Android SDK에는 컴퓨터에서 실행되는 가상 기기인 Android 기기 에뮬레이터가 포함되어 있습니다. Android Emulator를 사용하면 실제 기기를 사용하지 않고 Android 앱을 개발하고 테스트할 수 있습니다.

이 페이지에서는 Android Emulator와 함께 사용할 수 있는 명령줄 기능을 설명합니다. Android Emulator UI 사용에 관한 자세한 내용은 Android Emulator에서 앱 실행을 참고하세요.

에뮬레이터 시작

프로젝트를 실행하거나 AVD Manager를 통해 시작하는 대신 emulator 명령어를 사용하여 에뮬레이터를 시작할 수 있습니다.

다음은 터미널 프롬프트에서 가상 기기를 시작하기 위한 기본 명령줄 구문입니다.

emulator -avd avd_name [ {-option [value]} … ]

또는

emulator @avd_name [ {-option [value]} … ]

예를 들어 Mac에서 실행되는 Android 스튜디오 내에서 에뮬레이터를 시작하는 경우 기본 명령줄은 다음과 유사합니다.

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Pixel8_API_34 -netdelay none -netspeed full -qt-hide-window -grpc-use-token -idle-grpc-timeout

인수 -qt-hide-window -grpc-use-token -idle-grpc-timeout 는 Android 스튜디오 내에서 에뮬레이터 창을 실행하는 데만 사용됩니다. 자체 창에서 에뮬레이터를 실행하려면 이러한 추가 매개변수를 사용해서는 안 됩니다.

에뮬레이터를 시작할 때 시작 옵션을 지정할 수 있지만 시작한 후에는 지정할 수 없습니다.

AVD 이름의 목록을 보려면 다음 명령어를 입력하세요.

emulator -list-avds

Android 홈 디렉터리의 AVD 이름 목록을 표시하려면 이 옵션을 사용하세요. 모든 구성과 AVD 콘텐츠가 저장되는 사용자별 디렉터리의 루트를 지정하는 ANDROID_SDK_HOME 환경 변수를 설정하여 기본 홈 디렉터리를 재정의할 수 있습니다.

가상 기기를 실행하기 전에 터미널 창에서 또는 운영체제의 사용자 설정을 통해 환경 변수를 설정할 수 있습니다. Linux의 .bashrc 파일에서 설정하는 것을 예로 들 수 있습니다.

Android Emulator를 중지하려면 에뮬레이터 창을 닫으면 됩니다.

앱 설치

Android 스튜디오 또는 에뮬레이터 UI를 통해 앱을 설치하는 것 외에 adb 유틸리티를 사용하여 가상 기기에 앱을 설치할 수도 있습니다.

adb를 사용하여 앱을 설치, 실행, 테스트하려면 다음 일반 단계를 따르세요.

  1. 앱 빌드 및 실행에 설명된 대로 앱을 빌드하고 APK로 패키징합니다.
  2. 이전 섹션에 설명된 대로 필요한 시작 옵션을 사용하여 명령줄에서 에뮬레이터를 시작합니다.
  3. adb를 사용하여 앱을 설치합니다.
  4. 에뮬레이터에서 앱을 실행하고 테스트합니다.
    에뮬레이터가 실행되는 동안 에뮬레이터 콘솔을 사용하여 필요에 따라 명령어를 실행할 수도 있습니다.

앱을 제거하려면 Android 기기에서 하는 것처럼 제거하세요.

가상 기기가 다시 시작하는 동안 앱과 앱의 상태 데이터를 사용자 데이터 디스크 파티션(userdata-qemu.img)에 유지합니다. 이 데이터를 지우려면 -wipe-data 옵션을 사용하여 에뮬레이터를 시작하거나 AVD Manager에서 데이터를 완전 삭제하세요. 사용자 데이터 파티션 및 기타 저장소에 관한 자세한 내용은 다음 섹션을 참고하세요.

참고: adb 유틸리티에서는 가상 기기를 실제 기기로 간주합니다. 이러한 이유로 install과 같은 일반적인 adb 명령어에 -d 플래그를 사용해야 할 수도 있습니다. -d 플래그를 사용하면 연결된 기기 여러 개 가운데 어떤 기기를 명령어의 타겟으로 사용할지 지정할 수 있습니다. -d를 지정하지 않으면 에뮬레이터가 목록의 첫 번째 기기를 타겟팅합니다.

기본 디렉터리 및 파일 이해

에뮬레이터에서는 연결된 파일을 사용하며 그중에서 AVD 시스템 및 데이터 디렉터리가 가장 중요합니다. 명령줄 옵션을 지정할 때 에뮬레이터 디렉터리 구조와 파일을 이해하는 것이 도움이 되지만 일반적으로 기본 디렉터리나 파일은 수정하지 않아도 됩니다.

Android Emulator는 QEMU 하이퍼바이저를 사용합니다.

AVD 시스템 디렉터리

시스템 디렉터리에는 에뮬레이터에서 운영체제를 시뮬레이션하기 위해 사용하는 Android 시스템 이미지가 포함됩니다. 이 디렉터리에는 API 수준, CPU 아키텍처, Android 변형을 포함하여 동일한 유형의 모든 AVD에서 공유하는 플랫폼별 읽기 전용 파일이 있습니다. 기본 위치는 다음과 같습니다.

  • macOS 및 Linux: ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Windows - C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

여기서

  • apiLevel은 API 수준을 나타내는 숫자 또는 미리보기 출시를 나타내는 문자입니다. 예를 들어 android-V는 Android VanillaIceCream 미리보기 출시되면 API 수준 35가 되었으며 android-35
  • variant는 시스템 이미지에 의해 구현된 특정 기능에 상응하는 이름입니다(예: google_apis 또는 android-wear).
  • arch는 타겟 CPU 아키텍처입니다(예: x86).

AVD에 다른 시스템 디렉터리를 지정하려면 -sysdir 옵션을 사용합니다.

에뮬레이터는 시스템 디렉터리에서 다음 파일을 읽습니다.

표 1. Android Emulator에서 읽은 시스템 디렉터리 파일

파일 설명 다른 파일을 지정하기 위한 옵션
kernel-qemu 또는 kernel-ranchu AVD의 바이너리 커널 이미지입니다. kernel-ranchu는 QEMU 에뮬레이터 -kernel
ramdisk.img 부팅 파티션 이미지입니다. 이는 시스템 이미지가 마운트되기 전 처음에 커널이 로드한 system.img의 하위 집합입니다. 일반적으로 바이너리 및 초기화 스크립트 몇 개만 포함됩니다. -ramdisk
system.img 시스템 이미지의 읽기 전용 초기 버전입니다. 구체적으로 API 수준 및 변형에 상응하는 시스템 라이브러리 및 데이터가 포함된 파티션입니다. -system
userdata.img 데이터 파티션의 초기 버전으로, 에뮬레이션된 시스템에 data/로 표시되며 AVD의 쓰기 가능한 모든 데이터를 포함합니다. 새 AVD를 만들거나 ‑wipe-data 옵션을 사용할 때 에뮬레이터에서 이 파일이 사용됩니다. 자세한 내용은 다음 섹션의 userdata-qemu.img 파일 설명을 참고하세요. -initdata
-init-data

AVD 데이터 디렉터리

콘텐츠 디렉터리라고도 하는 AVD 데이터 디렉터리는 단일 AVD 인스턴스에 관련되며 AVD의 모든 수정 가능한 데이터를 포함합니다.

기본 위치는 다음과 같고 여기서 name은 AVD 이름입니다.

  • macOS 및 Linux: ~/.android/avd/name.avd/
  • Windows 10 이상 - C:\Users\user\.android\name.avd\

다른 AVD 데이터 디렉터리를 지정하려면 -datadir 옵션을 사용합니다.

다음 표에는 이 디렉터리에 포함된 가장 중요한 파일이 나열되어 있습니다.

표 2. AVD 데이터 디렉터리의 중요 파일

파일 설명 다른 파일을 지정하기 위한 옵션
userdata-qemu.img

데이터 파티션의 콘텐츠로, 에뮬레이션된 시스템에 data/로 표시됩니다. 새 AVD를 만들거나 -wipe-data 옵션을 사용하여 AVD를 출고 시 기본값으로 재설정하는 경우 에뮬레이터에서 시스템 디렉터리의 userdata.img 파일을 복사하여 이 파일을 만듭니다.

각 가상 기기 인스턴스에서 쓰기 가능한 사용자 데이터 이미지를 사용하여 사용자별 및 세션별 데이터를 저장합니다. 예를 들어 이미지를 사용하여 순 사용자의 설치된 앱 데이터, 설정, 데이터베이스 및 파일을 저장합니다. 사용자마다 다른 ANDROID_SDK_HOME 디렉터리를 보유하며 이 디렉터리에 각 사용자가 만든 AVD의 데이터 디렉터리가 저장됩니다. 각 AVD에는 단일 userdata-qemu.img 파일이 있습니다.

-data
cache.img 캐시 파티션 이미지로, 에뮬레이션된 시스템에 cache/로 표시됩니다. 처음으로 AVD를 만들거나 -wipe-data 옵션을 사용하는 경우 비어 있습니다. 임시 다운로드 파일을 저장하며 다운로드 관리자 및 경우에 따라 시스템에 의해 채워집니다. 예를 들어 브라우저에서는 에뮬레이터가 실행되는 동안 다운로드된 웹페이지와 이미지를 캐시하는 데 이 파일을 사용합니다. 가상 기기의 전원을 끄면 파일이 삭제됩니다. -cache 옵션을 사용하여 파일을 유지할 수 있습니다. -cache
sdcard.img

(선택사항) 가상 기기에서 SD 카드를 시뮬레이션할 수 있는 SD 카드 파티션 이미지입니다. AVD Manager에서 또는 mksdcard 도구를 사용하여 SD 카드 이미지 파일을 만들 수 있습니다. 파일은 개발용 컴퓨터에 저장되며 시작 시 로드되어야 합니다.

AVD Manager에서 AVD를 정의할 때 자동으로 관리되는 SD 카드 파일 또는 mksdcard 도구로 만든 파일을 사용하도록 선택할 수 있습니다. AVD Manager에서 AVD와 연결된 sdcard.img 파일을 볼 수 있습니다. -sdcard 옵션은 AVD에 지정된 SD 카드 파일을 재정의합니다. 이 SD 카드 옵션은 Apple Silicon이 설치된 Mac에서는 작동하지 않습니다.

가상 기기가 실행되는 동안 에뮬레이터 UI 또는 adb 유틸리티를 사용하여 시뮬레이션된 SD 카드를 둘러보거나, 카드에 파일을 보내거나, 카드의 파일을 복사 또는 삭제할 수 있습니다. 실행 중인 가상 기기에서 시뮬레이션된 SD 카드를 삭제할 수 없습니다.

SD 카드 파일을 로드하기 전에 SD 카드 파일에 파일을 복사하려면 이미지 파일을 루프 기기로 마운트한 후 파일을 복사하세요. 또는 mtools 패키지와 같은 유틸리티를 사용하여 이미지에 직접 파일을 복사하세요.

에뮬레이터에서는 파일을 바이트의 풀로 취급하므로 SD 카드 형식은 중요하지 않습니다.

-wipe-data 옵션은 이 파일에 영향을 미치지 않습니다. 파일을 지우려면 파일을 삭제한 다음 AVD Manager 또는 mksdcard 도구를 사용하여 다시 만드세요. 파일의 크기를 변경해도 파일이 삭제되고 새 파일이 생성됩니다.

-sdcard

에뮬레이터에서 사용하는 디렉터리 및 파일 나열

두 가지 방법으로 파일의 위치를 확인할 수 있습니다.

  • 명령줄에서 에뮬레이터를 시작할 때 -verbose 또는 -debug init 옵션을 사용합니다. 출력을 살펴봅니다.
  • 기본 디렉터리를 나열하려면 emulator -help-option 명령어를 사용합니다. 예:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

명령줄 시작 옵션

이 섹션에는 에뮬레이터를 시작할 때 명령줄에 입력할 수 있는 옵션이 나열되어 있습니다.

참고: Android Emulator는 안정성을 높이기 위해 계속 개발 중입니다. 다양한 명령줄 옵션과 관련하여 신고된 문제의 상태를 확인하고 버그를 신고하려면 Android Issue Tracker를 참고하세요.

일반적으로 사용되는 옵션

다음 표에는 일반적으로 사용되는 명령줄 시작 옵션이 나열되어 있습니다.

표 3. 일반적으로 사용되는 명령줄 옵션

명령줄 옵션 설명
Quick Boot
-no-snapshot-load 콜드 부팅을 실행하고 종료 시 에뮬레이터 상태를 저장합니다.
-no-snapshot-save 가능한 경우 Quick Boot을 실행하지만 종료 시 에뮬레이터 상태를 저장하지 않습니다.
-no-snapshot Quick Boot 기능을 완전히 사용 중지하고 에뮬레이터 상태를 로드하거나 저장하지 않습니다.
기기 하드웨어
-camera-back mode
-camera-front mode
후면 또는 전면을 향한 카메라의 에뮬레이션 모드를 설정합니다. AVD의 카메라 설정을 재정의합니다.

mode는 다음 값 중 하나입니다.

  • emulated: 에뮬레이터가 소프트웨어에서 카메라를 시뮬레이션합니다.
  • webcamn: 에뮬레이터가 개발용 컴퓨터에 연결되었으며 숫자로 지정된 웹캠을 사용합니다. 웹캠 목록을 보려면 -webcam-list 옵션을 사용하세요. webcam0을 예로 들 수 있습니다.
  • none: 가상 기기의 카메라를 사용 중지합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -camera-back webcam0
-webcam-list 개발용 컴퓨터에서 에뮬레이션에 사용할 수 있는 웹캠을 나열합니다. 예를 들면 다음과 같습니다.
emulator @Pixel8_API_34 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

이 예에서 첫 번째 webcam0은 명령줄에서 사용하는 이름입니다. 두 번째 webcam0은 개발용 컴퓨터의 OS에서 사용하는 이름입니다. 두 번째 이름은 OS에 따라 달라집니다.

SDK 도구 25.2.4부터는 AVD 이름이 필요합니다.

디스크 이미지 및 메모리
-memory size

실제 RAM 크기를 1,536~8,192MB로 지정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -memory 2048

이 값에 따라 AVD 설정이 재정의됩니다.

-sdcard filepath SD 카드 파티션 이미지 파일의 파일 이름과 경로를 지정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img

파일을 찾을 수 없어도 에뮬레이터가 시작되지만 SD 카드 없이 시작됩니다. 명령어에서 No SD Card Image 경고를 반환합니다.

이 옵션을 지정하지 않으면 AVD가 다른 값을 지정하지 않는 한 데이터 디렉터리의 sdcard.img가 기본값입니다. 에뮬레이션된 SD 카드에 관한 자세한 내용은 AVD 데이터 디렉터리를 참고하세요.

-wipe-data 사용자 데이터를 삭제하고 초기 데이터 파일에서 데이터를 복사합니다. 이 옵션은 가상 기기의 데이터를 지우고 처음 정의되었을 때와 동일한 상태로 되돌립니다. 설치된 앱 및 설정이 모두 삭제됩니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -wipe-data

기본적으로 사용자 데이터 파일은 userdata-qemu.img이고 초기 데이터 파일은 userdata.img입니다. 이러한 두 파일은 모두 데이터 디렉터리에 있습니다. -wipe-data 옵션은 sdcard.img 파일에 영향을 미치지 않습니다. 사용자 데이터에 관한 자세한 내용은 기본 디렉터리 및 파일 이해 섹션을 참고하세요.

디버그
-debug tags 하나 이상의 태그에 관한 디버그 메시지 표시를 사용 설정하거나 사용 중지합니다. 여러 태그는 공백, 쉼표 또는 열로 구분하세요. 예를 들면 다음과 같습니다.

$ emulator @Pixel8_API_34 -debug init,metrics

태그를 사용 중지하려면 태그 앞에 대시(-)를 추가하세요. 예를 들어 다음 옵션은 네트워크 소켓 및 측정항목과 관련된 디버그 메시지를 제외한 모든 디버그 메시지를 표시합니다.

-debug all,-socket,-metrics

태그 및 설명 목록을 보려면 -help-debug-tags 옵션을 사용합니다. 예:

emulator -help-debug-tags

ANDROID_VERBOSE 환경 변수에 기본 디버그 태그를 정의할 수 있습니다. 사용할 태그를 쉼표로 구분된 목록으로 정의하세요. 다음은 socketgles 태그를 지정하는 방법을 보여주는 예입니다.

ANDROID_VERBOSE=socket,gles

다음 옵션을 사용하는 것과 같습니다.

-debug-socket -debug-gles

또는

-debug socket,gles

-debug-tag
-debug-no-tag
특정 디버그 메시지 유형을 사용 설정합니다. 디버그 메시지 유형을 사용 중지하려면 no 형식을 사용합니다. 예:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

태그의 목록을 보려면 emulator -help-debug-tags 명령어를 사용합니다.

-logcat logtags 하나 이상의 태그에 Logcat 메시지 표시를 사용 설정하고 이를 터미널 창에 씁니다. 예를 들어 다음 명령어는 모든 구성요소의 오류 메시지를 사용 설정합니다.

emulator @Pixel8_API_34 -logcat *:e

logtagsadb logcat logtags 명령어와 동일한 형식을 사용합니다. 자세한 내용을 보려면 adb logcat -help를 입력하세요. 공백 또는 쉼표로 구분된 componentName:logLevel 형식 로그 필터의 목록입니다. componentName은 와일드 카드 별표(*) 또는 구성요소 이름(예: ActivityManager, SystemServer, InputManager 또는 WindowManager)입니다.

logLevel은 다음 값 중 하나입니다.

  • v - 상세
  • d - 디버그
  • i - 정보 제공
  • w - 경고 로그 수준
  • e - 오류
  • s - 무음

다음 예에서는 정보 로그 수준에서 GSM 구성요소 메시지를 표시합니다.

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

명령줄에서 -logcat 옵션을 제공하지 않으면 에뮬레이터에서 ANDROID_LOG_TAGS 환경 변수를 찾습니다. ANDROID_LOG_TAGS가 유효한 logtags 값으로 정의되고 비어 있지 않은 경우 기본적으로 에뮬레이터에서 정의된 값을 사용하여 터미널에 Logcat 출력을 표시합니다. adb를 통해 동일하거나 다른 로그 메시지를 터미널로 리디렉션할 수도 있습니다.

Logcat 및 adb에 관한 자세한 내용은 Logcat 명령줄 도구, Logcat에서 로그 보기 및 쓰기, Log 클래스, adb 명령어 실행을 참고하세요.

-show-kernel 터미널 창에 커널 디버그 메시지를 표시합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -show-kernel

이 옵션의 한 가지 용도는 부팅 프로세스가 올바로 작동하는지 확인하는 것입니다.

-verbose 에뮬레이터 초기화 메시지를 터미널 창에 출력합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -verbose

AVD에 정의된 가상 기기를 시작할 때 실제로 선택되는 파일과 설정을 표시합니다. 이 옵션은 -debug-init을 지정하는 것과 동일합니다.

네트워크
-dns-server servers 지정된 DNS 서버를 사용합니다. servers는 쉼표로 구분된 목록으로, 최대 4개의 DNS 서버 이름 또는 IP 주소를 나열합니다. 예를 들면 다음과 같습니다.
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

기본적으로 에뮬레이터에서는 사용 중인 DNS 서버를 감지하려고 시도하고 Android 시스템에서 서버에 직접 연결할 수 있도록 에뮬레이션된 방화벽 네트워크에 특수한 별칭을 설정합니다. 다른 DNS 서버 목록을 지정하려면 -dns-server 옵션을 사용합니다.

-http-proxy proxy 지정된 HTTP/HTTPS 프록시를 통해 모든 TCP 연결을 설정합니다. 에뮬레이터가 프록시 서버를 통해 인터넷에 액세스해야 한다면 이 옵션이나 http_proxy 환경 변수를 사용하여 적절한 리디렉션을 설정할 수 있습니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -http-proxy myserver:1981

proxy는 다음 중 하나일 수 있습니다.

http://server:port
http://username:password@server:port

http:// 접두사는 생략할 수 있습니다.

이 옵션이 제공되지 않은 경우 에뮬레이터에서 http_proxy 환경 변수를 찾고 proxy 형식과 일치하는 값을 자동으로 사용합니다. 자세한 내용은 프록시로 에뮬레이터 사용하기를 참고하세요.

-netdelay delay

네트워크 지연 시간 에뮬레이션을 다음 delay 값 중 하나로 설정합니다(밀리초 단위).

  • gsm - GSM/CSD(최소 150, 최대 550)
  • hscsd - HSCSD(최소 80, 최대 400)
  • gprs - GPRS(최소 35, 최대 200)
  • edge - EDGE/EGPRS(최소 80, 최대 400)
  • umts - UMTS/3G(최소 35, 최대 200)
  • hsdpa - HSDPA(최소 0, 최대 0)
  • lte - LTE(최소 0, 최대 0)
  • evdo - EVDO(최소 0, 최대 0)
  • none - 지연 시간 없음, 기본값(최소 0, 최대 0)
  • num - 정확한 지연 시간을 지정합니다.
  • min:max - 개별 최소 및 최대 지연 시간을 지정합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -netdelay gsm

에뮬레이터에서는 네트워크 제한과 더 긴 연결 지연 시간을 사용할 수 있습니다. 스킨 구성을 통해서나 ‑netspeed-netdelay 옵션을 사용하여 정의할 수 있습니다.

-netfast 네트워크 제한을 사용 중지합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -netfast

이 옵션은 -netspeed full -netdelay none을 지정하는 것과 동일합니다. 이 값이 이 옵션의 기본값입니다.

-netspeed speed

네트워크 속도 에뮬레이션을 설정합니다. 다음 speed 값 중 하나를 사용하여 최대 네트워크 업로드 및 다운로드 속도(kbps)를 지정합니다.

  • gsm - GSM/CSD(업로드: 14.4, 다운로드: 14.4)
  • hscsd - HSCSD(업로드: 14.4, 다운로드: 57.6)
  • gprs - GPRS(업로드: 28.8, 다운로드: 57.6)
  • edge - EDGE/EGPRS(업로드: 473.6, 다운로드: 473.6)
  • umts - UMTS/3G(업로드: 384.0, 다운로드: 384.0)
  • hsdpa - HSDPA(업로드: 5,760.0, 다운로드: 13,980.0)
  • lte - LTE(업로드: 58,000, 다운로드: 173,000)
  • evdo - EVDO(업로드: 75,000, 다운로드: 280,000)
  • full - 제한 없음, 기본값(업로드: 0.0, 다운로드: 0.0)
  • num - 업로드와 다운로드 속도를 모두 지정합니다.
  • up:down - 개별 업로드 및 다운로드 속도를 지정합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -netspeed edge

에뮬레이터에서는 네트워크 제한과 더 긴 연결 지연 시간을 사용할 수 있습니다. 스킨 구성을 통해서나 ‑netspeed-netdelay 옵션을 사용하여 정의할 수 있습니다.

-port port 콘솔 및 adb에 사용되는 TCP 포트 번호를 설정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -port 5556

시스템에서 실행되는 첫 번째 가상 기기 인스턴스의 기본값은 5554입니다. 가상 기기는 일반적으로 한 쌍의 인접한 포트(콘솔 포트와 adb 포트)를 차지합니다. 특정 시스템에서 실행되는 첫 번째 가상 기기의 콘솔에서는 콘솔 포트 5554와 adb 포트 5555를 사용합니다. 후속 인스턴스에서는 2씩 증가하는 포트 번호를 사용합니다. 5556/5557, 5558/5559 등과 같은 방식을 예로 들 수 있습니다. 범위는 5554~5682로 동시에 64개의 가상 기기에서 사용할 수 있습니다.

포트 할당은 -ports port,{port + 1}을 지정하는 것과 동일합니다. {port + 1}을 사용할 수 있어야 하고 adb용으로 예약됩니다. 콘솔 또는 adb 포트를 이미 사용하고 있다면 에뮬레이터가 시작되지 않습니다.

‑port 옵션에서는 가상 기기가 사용 중인 포트와 일련번호를 보고하고 제공된 값에 문제가 있는 경우 경고를 표시합니다. 에뮬레이터 UI의 창 제목에 콘솔 포트 번호가 표시되며 Help > About을 선택하면 adb 포트 번호가 표시됩니다.

port 값이 짝수가 아니고 5554~5584 범위에 포함된 경우 가상 기기가 시작되지만 adb server가 에뮬레이터 뒤에 시작되면 adb devices 명령어를 사용할 때 가상 기기가 표시되지 않습니다. 이러한 이유로 짝수 콘솔 포트 번호를 사용하는 것이 좋습니다.

-ports
console-port,adb-port
Console 및 adb에 사용되는 TCP 포트를 설정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -ports 5556,5559

유효한 포트 범위는 5554~5682로 동시에 64개의 가상 기기에서 사용할 수 있습니다. -ports 옵션에서는 에뮬레이터 인스턴스가 사용 중인 포트와 일련번호를 보고하고 제공된 값에 문제가 있는 경우 경고를 표시합니다.

가능한 경우 -port 옵션을 대신 사용하는 것이 좋습니다. -ports 옵션은 특수 설정이 필요한 네트워크 구성에 사용할 수 있습니다.

콘솔 및 adb 포트 설정에 관한 자세한 내용은 -port 옵션을 참고하세요.

-tcpdump filepath 네트워크 패킷을 캡처하여 파일에 저장합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

에뮬레이터의 가상 이더넷 LAN을 통해 전송된 모든 네트워크 패킷을 캡처하려면 이 옵션을 사용하세요. 그런 다음에 Wireshark와 같은 도구를 사용하여 트래픽을 분석할 수 있습니다.

이 옵션은 모든 이더넷 패킷을 캡처하며 TCP 연결로 제한되지 않습니다.

시스템
-accel mode 에뮬레이터 VM 가속을 구성합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -accel auto

가속 에뮬레이션은 x86 및 x86_64 시스템 이미지에만 작동합니다. Linux에서는 KVM에 의존합니다. Windows 및 Mac에서는 Intel CPU 및 Intel HAXM 드라이버에 의존합니다. x86 또는 x86_64 기기를 에뮬레이션하지 않는 경우에는 이 옵션이 무시됩니다.

유효한 mode 값은 다음과 같습니다.

  • auto - 가속 기능이 지원되는지 자동으로 확인하고 가능한 경우 사용합니다(기본값).
  • off - 가속 기능을 완전히 사용 중지합니다. 이 값은 주로 디버깅에 유용합니다.
  • on - 가속을 강제로 실행합니다. KVM 또는 HAXM이 설치되어 있지 않거나 사용할 수 없으면 에뮬레이터가 시작되지 않고 오류 메시지가 표시됩니다.

자세한 내용은 Android Emulator의 하드웨어 가속 구성을 참고하세요.

-accel-check 에뮬레이터 VM 가속에 필요한 하이퍼바이저(HAXM 또는 KVM)가 설치되어 있는지 확인합니다. 예를 들면 다음과 같습니다.

emulator -accel-check

자세한 내용은 하이퍼바이저 설치 여부 확인을 참고하세요.

-engine engine

에뮬레이터 엔진을 지정합니다.

  • auto - 엔진을 자동으로 선택합니다(기본값).
  • classic - 이전 QEMU 1 엔진을 사용합니다 (지원 중단됨).
  • qemu2 - 최신 QEMU 2 엔진을 사용합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -engine auto

자동 감지 기능이 특정 AVD를 에뮬레이션할 때 최고의 성능을 제공하는 값을 선택합니다. 디버깅 및 비교만이 목적인 경우 -engine 옵션을 사용하세요.

-gpu mode GPU 에뮬레이션 모드를 선택합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -gpu swiftshader_indirect

자세한 내용은 그래픽 가속 구성을 참고하세요.

-no-accel x86 또는 x86_64 시스템 이미지를 사용하는 경우 에뮬레이터 VM 가속을 사용 중지합니다. 디버깅에만 유용하며 -accel off를 지정하는 것과 동일합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-accel

자세한 내용은 Android Emulator의 하드웨어 가속 구성을 참고하세요.

-nojni
-no-jni
Android Dalvik 또는 ART 런타임에서 확장된 JNI(자바 네이티브 인터페이스) 검사를 사용 중지합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -nojni

가상 기기를 시작하면 기본적으로 확장된 JNI 검사가 사용 설정됩니다. 자세한 내용은 JNI 도움말을 참고하세요.

-selinux {disabled|permissive} Linux 운영체제에서 SELinux(보안이 강화된 Linux) 보안 모듈을 disabled 또는 permissive 모드로 설정합니다. 예를 들면 다음과 같습니다.

me-linux$ emulator @Pixel8_API_34 -selinux permissive

기본적으로 SELinux는 enforcing 모드로, 보안 정책이 적용됩니다. permissive 모드는 SELinux 정책을 로드하지만 적용하지는 않습니다. 이 옵션은 정책 위반만 기록합니다. disabled 모드는 SELinux의 커널 지원을 사용 중지합니다.

-timezone timezone

가상 기기의 시간대를 호스트 시간대가 아닌 timezone으로 설정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -timezone Europe/Paris

기본적으로 에뮬레이터에서는 개발용 컴퓨터의 시간대를 사용합니다. 다른 시간대를 지정하거나 자동 감지 기능이 올바로 작동하지 않으면 이 옵션을 사용하세요. timezone 값은 zoneinfo 형식(area/location 또는 area/subarea/location)이어야 합니다. 예를 들면 다음과 같습니다.

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

지정된 시간대는 zoneinfo 데이터베이스에 있어야 합니다.

-version 에뮬레이터 버전 번호를 표시합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -version

또는

emulator -version
UI
-no-boot-anim 더 빠른 부팅을 위해 에뮬레이터가 시작하는 동안 부팅 애니메이션을 사용 중지합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-boot-anim

느린 컴퓨터에서 이 옵션을 사용하면 부팅 시퀀스가 크게 빨라질 수 있습니다.

-screen mode 에뮬레이션된 터치스크린 모드를 설정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -screen no-touch

mode는 다음 값 중 하나입니다.

  • touch - 터치스크린을 에뮬레이션합니다(기본값).
  • multi-touch - 멀티터치 화면을 에뮬레이션합니다.
  • no-touch - 터치스크린 및 멀티터치 스크린 에뮬레이션을 사용 중지합니다.

고급 옵션

다음 표의 명령줄 시작 옵션을 사용할 수는 있지만 일반 앱 개발자가 흔히 사용하지는 않습니다.

설명에서 작업 디렉터리는 명령어를 입력하는 터미널의 현재 디렉터리입니다. AVD 시스템 디렉터리와 데이터 디렉터리 및 그 안에 저장된 파일에 관한 자세한 내용은 기본 디렉터리 및 파일 섹션을 참고하세요.

이 옵션 중 일부는 외부 웹 개발자에게 적합하며 일부는 주로 플랫폼 개발자가 사용합니다. 앱 개발자는 Android 앱을 만들어 특정 AVD에서 실행합니다. 플랫폼 개발자는 Android 시스템을 작업하며 미리 만든 AVD 없이 에뮬레이터 내에서 Android 시스템을 실행합니다.

표 4. 고급 명령줄 옵션

고급 옵션 간략한 설명
-bootchart timeout

제한 시간(초)을 지정하고 bootcharting을 사용 설정합니다. 일부 Android 시스템 이미지에는 bootcharting 기능을 통합하는 수정된 init 시스템이 포함되어 있습니다. 이 옵션을 사용하여 bootcharting 제한 시간을 전달할 수 있습니다. init 시스템의 bootcharting이 활성화되지 않은 경우 이 옵션을 사용해도 아무 작업도 실행되지 않습니다. 이 옵션은 기본적으로 외부 앱 개발자가 아니라 플랫폼 개발자에게 유용합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

캐시 파티션 이미지 파일을 지정합니다. 영구적인 캐시 파일을 설정하려면 파일 이름과 절대 경로 또는 데이터 디렉터리에 상대적인 경로를 제공하세요. 파일이 존재하지 않으면 에뮬레이터에서 빈 파일을 만듭니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -cache
   ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img

이 옵션을 사용하지 않는 경우 기본값은 cache.img라는 임시 파일입니다. 자세한 내용은 AVD 데이터 디렉터리를 참고하세요.

-cache-size size

캐시 파티션 크기를 MB 단위로 설정합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -cache-size 1000

이 옵션을 지정하지 않으면 기본값은 66MB입니다. 일반적으로 기본 캐시보다 매우 큰 파일을 다운로드해야 하는 경우가 아니면 대부분의 앱 개발자에게 이 옵션은 필요하지 않습니다. 캐시 파일에 관한 자세한 내용은 AVD 데이터 디렉터리를 참고하세요.

-data filepath

사용자 데이터 파티션 이미지 파일을 설정합니다. 영구적인 사용자 데이터 파일을 설정하려면 파일 이름과 절대 경로 또는 작업 디렉터리에 상대적인 경로를 제공하세요. 파일이 존재하지 않으면 에뮬레이터가 기본 userdata.img 파일에서 이미지를 만들어 지정한 파일 이름으로 저장하고 종료 시 사용자 데이터를 이 파일에 유지합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -data
   ~/.android/avd/Pixel8_API_34.avd/userdata-test.img

이 옵션을 사용하지 않는 경우 기본값은 userdata-qemu.img라는 파일입니다. 사용자 데이터 파일에 관한 자세한 내용은 AVD 데이터 디렉터리를 참고하세요.

-datadir dir

절대 경로를 사용하여 데이터 디렉터리를 지정합니다. 자세한 내용은 AVD 데이터 디렉터리를 참고하세요.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -datadir
   ~/.android/avd/Pixel8_API_34.avd/mytest
-force-32bit

64비트 플랫폼에서 32비트 에뮬레이터를 사용합니다. 이 옵션은 때때로 테스트 및 디버깅에 유용합니다. 예를 들어 가끔 64비트 Windows에서는 에뮬레이터가 실행되지 않지만 32비트에서는 실행되는 문제가 있었습니다. 이 옵션을 사용하면 비교를 통해 문제를 디버그할 수 있었습니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -force-32bit
-help-disk-images

디스크 이미지에 관한 도움말을 표시합니다. 이 옵션은 앱 개발자와 플랫폼 개발자 모두에게 관련된 정보를 제공합니다. 예를 들면 다음과 같습니다.

emulator -help-disk-images
-help-char-devices

문자 device 사양에 관한 도움말을 표시합니다. 일부 에뮬레이터 옵션에는 device 매개변수가 필요합니다. 예를 들면 다음과 같습니다.

emulator -help-char-devices
-help-sdk-images

앱 개발자와 관련된 디스크 이미지에 관한 도움말을 표시합니다. 이 옵션은 SDK 도구로 만든 AVD의 이미지 파일 위치에 관한 정보를 가져옵니다. 예를 들면 다음과 같습니다.

emulator -help-sdk-images
-help-build-images

플랫폼 개발자와 관련된 디스크 이미지에 관한 도움말을 표시합니다. 예를 들면 다음과 같습니다.

emulator -help-build-images
-initdata filepath
-init-data filepath

데이터 파티션의 초기 버전을 지정합니다. 사용자 데이터를 완전 삭제한 후 에뮬레이터에서는 기본 userdata.img 파일을 초기 버전으로 사용하는 대신 지정된 파일의 콘텐츠를 사용자 데이터(기본적으로 userdata-qemu.img 파일)에 복사합니다. 파일 이름과 절대 경로 또는 작업 디렉터리에 상대적인 경로를 지정하세요.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -initdata
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/userdata-test.img

경로를 지정하지 않으면 파일이 시스템 디렉터리에 배치됩니다. 자세한 내용은 AVD 시스템 디렉터리를 참고하세요.

-kernel filepath

특정 에뮬레이션된 커널을 사용합니다. 경로를 지정하지 않으면 에뮬레이터가 시스템 디렉터리에서 커널을 찾습니다.

커널 디버그 메시지를 보려면 ‑show‑kernel 옵션을 사용합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -kernel
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/kernel-test.img -show-kernel

이 옵션을 지정하지 않으면 기본값은 kernel-ranchu입니다. 자세한 내용은 AVD 시스템 디렉터리를 참고하세요.

-noaudio
-no-audio

이 가상 기기의 오디오 지원 기능을 사용 중지합니다. 일부 Linux 및 Windows에는 에뮬레이터가 시작되지 못하도록 하는 것과 같이 여러 증상을 유발하는 잘못된 오디오 드라이버가 있습니다. 이 경우 이 옵션을 사용하여 문제를 해결하세요. 또는 QEMU_AUDIO_DRV 환경 변수를 사용하여 오디오 백엔드를 변경하세요.

예:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

캐시 파티션 없이 에뮬레이터를 시작합니다. 이 옵션을 사용하지 않는 경우 기본값은 cache.img라는 임시 파일입니다. 이 옵션은 플랫폼 개발자만을 위한 옵션입니다. 자세한 내용은 AVD 데이터 디렉터리를 참고하세요.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -nocache
-no-snapshot

자동 로드 및 저장 작업을 금지하며 에뮬레이터에서 전체 부팅 시퀀스를 실행하고 에뮬레이터가 닫힐 때 상태가 저장되지 않도록 합니다. -snapshot 옵션을 재정의합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-snapshot
-no-snapshot-load

에뮬레이터가 스냅샷 저장소에서 AVD 상태를 로드하지 못하도록 합니다. 전체 부팅을 실행합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-snapshot-load
-no-snapshot-save

에뮬레이터가 종료 시 AVD 상태를 스냅샷 저장소에 저장하지 못하도록 합니다. 즉, 모든 변경사항이 삭제됩니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-snapshot-save
-no-snapshot-update-time

스냅샷 복원 후 즉시 AVD 클럭 시간을 수정하려고 시도하지 않습니다. 이 옵션은 급격한 시간 이동을 피하므로 테스트하는 동안 유용할 수 있습니다. 시간 업데이트는 계속해서 약 15초마다 AVD로 전송됩니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-snapshot-update-time
-no-snapstorage

상태 스냅샷을 저장하거나 로드하기 위한 파일을 마운트하지 않고 에뮬레이터를 시작하여 강제로 전체 부팅을 실행하고 상태 스냅샷 기능을 사용 중지합니다. 이 옵션은 -snapstorage-snapshot 옵션을 재정의합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-snapstorage
-no-window

에뮬레이터에서 그래픽 창 디스플레이를 사용 중지합니다. 이 옵션은 디스플레이가 없는 서버에서 에뮬레이터를 실행할 때 유용합니다. adb 또는 콘솔을 통해 에뮬레이터에 액세스할 수 있습니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -no-window
-partition-size size

시스템 데이터 파티션 크기를 MB 단위로 설정합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -partition-size 1024
-prop name=value

부팅 시 에뮬레이터에서 Android 시스템 속성을 설정합니다. name은 공백 없이 최대 32자(영문 기준)의 qemu_prop 라벨이 지정된 속성 이름이어야 하며 value는 최대 92자(영문 기준)의 문자열이어야 합니다. 예는 property_contexts 파일을 참고하세요. 한 명령줄에 여러 ‑prop 옵션을 지정할 수 있습니다. 이 옵션은 디버깅에 유용합니다. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args QEMU 에뮬레이터 소프트웨어에 인수를 전달합니다. 이 옵션을 사용하는 경우 이 옵션 뒤의 모든 옵션이 QEMU 관련 옵션으로 간주되므로 이 옵션을 마지막 옵션으로 지정해야 합니다. 이 옵션은 매우 고급 옵션으로 QEMU Android 에뮬레이션에 아주 익숙한 개발자만 사용해야 합니다.
-qemu -h

-qemu 도움말을 표시합니다. 예를 들면 다음과 같습니다.

emulator -qemu -h
-ramdisk filepath

램디스크 부팅 이미지를 지정합니다. 파일 이름과 절대 경로 또는 작업 디렉터리에 상대적인 경로를 지정하세요.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -ramdisk
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/ramdisk-test.img

이 옵션을 사용하지 않는 경우 기본값은 시스템 디렉터리의 ramdisk.img 파일입니다. 자세한 내용은 AVD 시스템 디렉터리를 참고하세요.

-report-console socket

에뮬레이션을 시작하기 전에 콘솔 포트를 원격 서드 파티에 보고합니다. 자동 테스트 스크립트에 유용합니다. socket에는 다음 형식 중 하나를 사용해야 합니다.

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

자세한 내용은 특정 옵션에 관한 도움말 섹션에 설명된 대로 -help-report-console 옵션을 사용하세요.

-shell

현재 터미널에 루트 셸 콘솔을 만듭니다. 이 옵션은 다음과 같은 점에서 adb shell 명령어와 다릅니다.

  • 시스템의 많은 부분을 수정할 수 있는 루트 셸을 만듭니다.
  • 에뮬레이션된 시스템의 adb daemon이 손상된 경우에도 작동합니다.
  • Control+C(macOS의 경우 Command-C)를 눌러 셸 대신 에뮬레이터를 중지합니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -shell
-snapshot name

자동 시작 및 저장 작업을 위한 스냅샷 저장소 파일 내 스냅샷의 이름을 지정합니다.

에뮬레이터는 전체 부팅 시퀀스를 실행하는 대신 이전 상태 스냅샷에서 실행을 재개할 수 있으며, 이렇게 하는 것이 일반적으로 훨씬 더 빠릅니다. 이 옵션을 입력하면 에뮬레이터가 스냅샷 이미지에서 지정된 이름의 스냅샷을 로드하고 종료 시 동일한 이름으로 다시 저장합니다.

이 옵션을 사용하지 않는 경우 기본값은 전체 부팅 시퀀스입니다. 지정된 스냅샷이 존재하지 않으면 에뮬레이터가 대신 전체 부팅 시퀀스를 실행하고 저장 작업을 실행합니다.

스냅샷 저장소 파일과 기본 파일을 지정하는 방법에 관한 정보는 -snapstorage 옵션을 참고하세요.

emulator @Pixel8_API_34 -snapshot snapshot2

스냅샷을 로드하는 동안 시스템과 사용자 데이터, SD 카드 이미지의 모든 콘텐츠가 스냅샷을 만들 때 저장된 콘텐츠로 덮어쓰기 됩니다. 이 정보를 다른 스냅샷에 저장하지 않으면 그 이후의 모든 변경사항이 삭제됩니다.

avd snapshot save name 명령어를 사용하여 에뮬레이터 콘솔에서 스냅샷을 만들 수도 있습니다. 자세한 내용은 에뮬레이터 콘솔 명령어 전송을 참고하세요.

-snapshot-list

사용 가능한 스냅샷 목록을 표시합니다. 이 명령어는 에뮬레이터가 시작될 때 사용된 스냅샷 저장소 파일에 저장되어 있는 스냅샷의 표를 출력한 후 종료됩니다. -snapstorage file도 지정하는 경우 파일에 저장된 스냅샷의 표가 출력됩니다.

예:

emulator @Pixel8_API_34 -snapshot-list -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

출력의 ID 및 TAG 열 값을 -snapshot 옵션의 인수로 사용할 수 있습니다.

-snapstorage filepath

모든 상태 스냅샷이 포함된 저장소 파일을 지정합니다. 실행 중에 생성된 모든 스냅샷이 이 파일에 저장됩니다. 에뮬레이터 실행 중에는 이 파일의 스냅샷만 복원할 수 있습니다.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

이 옵션을 지정하지 않는 경우 기본값은 데이터 디렉터리의 snapshots.img입니다. 지정된 파일이 존재하지 않으면 에뮬레이터가 시작되지만 상태 스냅샷 저장 또는 로드 작업이 지원되지 않습니다.

-sysdir dir

절대 경로를 사용하여 시스템 디렉터리를 지정합니다. 자세한 내용은 AVD 시스템 디렉터리를 참고하세요. 예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -sysdir
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/test
-system filepath

초기 시스템 파일을 지정합니다. 파일 이름과 절대 경로 또는 작업 디렉터리에 상대적인 경로를 제공하세요.

예를 들면 다음과 같습니다.

emulator @Pixel8_API_34 -system
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/system-test.img

이 옵션을 사용하지 않는 경우 기본값은 시스템 디렉터리의 system.img 파일입니다. 자세한 내용은 AVD 시스템 디렉터리를 참고하세요.

-use-system-libs

Linux에서 에뮬레이터 시스템과 번들된 버전 대신 시스템 libstdc++를 사용합니다. 에뮬레이터가 정상적으로 시작되지 않는 경우에만 이 옵션을 사용하세요. 이 옵션이 항상 작동하는 것은 아닙니다. 또는 ANDROID_EMULATOR_USE_SYSTEM_LIBS 환경 변수를 1로 설정하세요.

예:

me-linux$ emulator @Pixel8_API_34 -use-system-libs
-writable-system

에뮬레이션 세션에서 쓰기 가능한 시스템 이미지를 만들려면 이 옵션을 사용합니다. 방법은 다음과 같습니다.

  1. -writable-system 옵션을 선택하여 가상 기기를 시작합니다.
  2. 명령어 터미널에서 adb remount 명령어를 입력하여 system/을 읽기/쓰기로 다시 마운트하도록 에뮬레이터에 지시합니다. 기본적으로 읽기 전용으로 마운트됩니다.

이 플래그를 사용하면 시스템 이미지의 임시 사본이 생성되며 이 사본은 매우 클 수 있지만(최대 수백 MB) 에뮬레이터가 종료될 때 삭제됩니다.

지원 중단된 옵션

다음 명령줄 옵션은 지원 중단되었습니다.

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

명령줄 옵션에 관한 도움말 보기

이 섹션에서는 명령줄 옵션에 관한 도움말을 보는 방법을 설명합니다. 에뮬레이터를 시작할 때 제공되는 흔히 사용되는 에뮬레이터 명령줄 옵션에 관한 자세한 정보를 제공합니다.

모든 에뮬레이터 옵션 나열

간단한 설명을 포함한 모든 에뮬레이터 옵션 목록을 출력하려면 다음 명령어를 입력하세요.

emulator -help

특정 옵션에 관한 자세한 도움말 보기

특정 시작 옵션에 관한 도움말을 출력하려면 다음 명령어를 입력하세요.

emulator -help-option

예를 들면 다음과 같습니다.

emulator -help-netspeed

이 도움말은 -help 옵션에서 제공하는 설명보다 더 자세한 도움말입니다.

모든 옵션에 관한 자세한 도움말 보기

모든 에뮬레이터 옵션에 관한 자세한 도움말을 보려면 다음 명령어를 입력하세요.

emulator -help-all

에뮬레이터 환경 변수 나열

에뮬레이터 환경 변수 목록을 가져오려면 다음 명령어를 입력하세요.

emulator -help-environment

가상 기기를 시작하기 전에 터미널 창에서 환경 변수를 설정하거나 운영체제의 사용자 설정을 통해 환경 변수를 설정할 수 있습니다. 예를 들어 Linux의 .bashrc 파일에서 설정하세요.

디버그 태그 나열

-debug 옵션의 태그 목록을 출력하려면 다음 명령어를 입력하세요.

emulator -help-debug-tags

-debug 옵션을 사용하면 태그에 의해 지정된 대로 특정 에뮬레이터 구성요소의 디버그 메시지를 사용 설정하거나 중지할 수 있습니다.