avd manager
AVD Manager 34+Android Virtual Device(avdmanager / emulator) CLI 빠른 참조 — AVD 생성 / 편집 / 삭제, 시스템 이미지 나열, 헤드리스 에뮬레이터 실행, 스냅샷 관리, 네트워크 포워딩 — 자주 쓰는 옵션과 실전 예시까지 함께 정리했습니다.
명령어 34개
검사
avdmanager list avd모든 AVD를 이름, 경로, 대상 API, ABI, 스킨과 함께 나열합니다.
-c 간결; --force 무음
avdmanager list avdavdmanager list device새 AVD에 사용할 수 있는 디바이스 프로파일을 나열합니다(`pixel_6`, `pixel_tablet`, `wear_round` 등).
-c
avdmanager list device | head -40sdkmanager --list모든 SDK 패키지 — 시스템 이미지, 빌드 도구, 플랫폼 도구, NDK를 나열합니다. AVD를 만들기 전에 시스템 이미지 ID를 찾는 데 사용하세요.
--include_obsolete
sdkmanager --list | grep 'system-images;android-34'시스템 이미지 설치
sdkmanager 'system-images;android-<api>;google_apis;x86_64'Google APIs(Play Store / Maps 등)가 포함된 x86_64 Android <api> 시스템 이미지를 다운로드합니다. 이미지 ID 형식은 `<type>;<version>;<variant>;<abi>`.
sdkmanager 'system-images;android-34;google_apis_playstore;x86_64'sdkmanager 'system-images;android-<api>;default;arm64-v8a'Apple 실리콘(arm64) 변형 — M-시리즈 Mac에서 하드웨어 가속이 필요 없습니다.
sdkmanager 'system-images;android-33;default;arm64-v8a'AVD 생성
avdmanager create avd -n <name> -k 'system-images;<id>' -d <device>새 AVD를 비대화형으로 생성합니다. `-n`은 친근한 이름, `-k`는 시스템 이미지 패키지 ID, `-d`는 `avdmanager list device`의 디바이스 ID입니다.
-f 같은 이름의 기존 AVD 덮어쓰기; -p <path> 기본 AVD 경로 재정의; --sdcard <size|M|G>
avdmanager create avd -n pixel_7_api34 -k 'system-images;android-34;google_apis_playstore;x86_64' -d pixel_7 --sdcard 512Mecho no | avdmanager create avd ..."사용자 정의 하드웨어 프로파일을 만들겠습니까?" 프롬프트에 `no`로 자동 답해 CI에서 실행할 수 있게 합니다.
echo no | avdmanager create avd -n ci_avd -k 'system-images;android-30;default;x86_64' -d pixel_4avdmanager create avd -n <name> --tag google_apis_playstorePlay Store 변형 시스템 이미지에 AVD를 태그합니다 — 인앱 구매 / Google Sign-In 흐름 테스트에 유용합니다.
avdmanager create avd -n pixel_7_playstore -k 'system-images;android-34;google_apis_playstore;x86_64' -d pixel_7 --tag google_apis_playstore편집 / 삭제
avdmanager delete avd -n <name>AVD(정의 + 기본 스냅샷)를 삭제합니다.
-f 확인 프롬프트 표시 안함
avdmanager delete avd -n old_test_avd -favdmanager move avd -n <name> -p <new-path>AVD를 새 디렉터리로 이동합니다(`ANDROID_AVD_HOME` 마이그레이션 시 유용).
avdmanager move avd -n pixel_7_api34 -p /mnt/fast-ssd/.android/avdavdmanager rename avd -n <old> -r <new>재작성 없이 AVD 이름을 변경합니다.
avdmanager rename avd -n pixel_7_api34 -r pixel_7_main에뮬레이터 실행
emulator -avd <name>현재 터미널에서 명명된 AVD를 부팅합니다. 에뮬레이터 패키지와 가속 가상화(KVM/HVF/WHPX)가 필요합니다.
-no-window; -no-audio; -no-boot-anim; -no-snapshot; -gpu swiftshader_indirect
emulator -avd pixel_7_api34 -no-window -no-snapshotemulator -avd <name> -no-window -no-snapshot -no-audio -no-boot-animCI 친화적인 헤드리스 부팅 — 디스플레이 없음, 사운드 없음, 부팅 애니메이션 건너뛰기, 저장된 스냅샷을 로드하지 않음(항상 콜드 부팅).
-accel auto|off; -gpu host|swiftshader_indirect
emulator -avd ci_avd -no-window -no-snapshot -no-audio -no-boot-anim -gpu swiftshader_indirect -accel autoemulator -avd <name> -port <port>에뮬레이터 콘솔을 특정 포트에 바인딩합니다(첫 인스턴스 기본 5554, 이후 에뮬레이터는 5556, 5558…).
-port 5554; -no-snapshot
emulator -avd pixel_7_api34 -port 5554 &emulator -list-avds모든 AVD 이름을 출력합니다 — AVD를 순회하거나 자동으로 선택하는 스크립트에 유용합니다.
AVD=$(emulator -list-avds | head -1) && emulator -avd "$AVD" -no-window스냅샷
emulator -avd <name> -no-snapshot저장된 스냅샷을 무시하고 매번 AVD를 콜드 부팅합니다. 스냅샷 상태가 의심스러울 때 사용합니다.
emulator -avd pixel_7_api34 -no-snapshotadb -s emulator-5554 emu snapshot save <tag>현재 에뮬레이터 상태를 명명된 스냅샷으로 저장합니다.
adb -s emulator-5554 emu snapshot save clean-installadb -s emulator-5554 emu snapshot load <tag>다음 부팅 시 명명된 스냅샷을 복원합니다.
adb -s emulator-5554 emu snapshot load clean-install네트워킹
adb -s emulator-5554 reverse tcp:<d-port> tcp:<h-port>호스트 포트를 에뮬레이터에서 접근할 수 있게 만듭니다(예: `localhost:3000`의 개발 서버).
adb -s emulator-5554 reverse tcp:3000 tcp:3000emulator -avd <name> -dns-server <ip>에뮬레이터 내부의 DNS 서버를 재정의합니다 — 기업 네트워크가 Google DNS 기본값을 차단할 때 필요합니다.
emulator -avd pixel_7_api34 -dns-server 1.1.1.1성능
emulator -avd <name> -memory <MB>에뮬레이터 RAM을 제한합니다. 기본값은 디바이스 프로파일에서 파생되며, CI 러너에서는 낮춥니다.
emulator -avd pixel_7_api34 -memory 2048emulator -avd <name> -cores <N>게스트에 보고되는 CPU 코어 수를 설정합니다.
emulator -avd pixel_7_api34 -cores 4emulator -avd <name> -gpu <mode>그래픽 백엔드를 선택합니다: `host`는 호스트 GPU 사용(가장 빠름, 하드웨어 가속), `swiftshader_indirect`는 소프트웨어 폴백(CI 안전), `off`는 GPU 비활성화.
host | swiftshader_indirect | guest | off
emulator -avd pixel_7_api34 -gpu swiftshader_indirect하드웨어
emulator -avd <name> -skin <skin>AVD의 화면 스킨(`1080x1920`, `480x800`, `Nexus 5` 등)을 재정의합니다.
emulator -avd pixel_7_api34 -skin 1080x2280emulator -avd <name> -camera-back <mode>후면 카메라 소스를 설정합니다: `emulated`(애니메이션 장면), `webcam0`, `webcam1`, `none`.
emulated | webcam<N> | none
emulator -avd pixel_7_api34 -camera-back webcam0ADB 통합
adb -s emulator-<port> install <apk>ADB 시리얼(`emulator-5554`, `emulator-5556` 등)로 특정 에뮬레이터에 APK를 설치합니다.
adb -s emulator-5554 install -r app-debug.apkadb -s emulator-<port> shell screencap -p /sdcard/x.png에뮬레이터 화면을 캡처합니다 — 스크린샷 회귀 테스트에 유용합니다.
adb -s emulator-5554 shell screencap -p /sdcard/x.png && adb -s emulator-5554 pull /sdcard/x.png ./snap.pngadb -s emulator-<port> emu kill명명된 에뮬레이터를 정상적으로 종료합니다.
adb -s emulator-5554 emu kill환경 변수
echo $ANDROID_AVD_HOMEAVD 저장 디렉터리를 출력합니다(기본 `~/.android/avd`). AVD를 빠른 SSD로 옮기려면 재정의하세요.
export ANDROID_AVD_HOME=/mnt/fast-ssd/.android/avdecho $ANDROID_SDK_ROOTSDK 설치 루트를 출력합니다. `ANDROID_SDK_ROOT`와 `ANDROID_HOME` 둘 다 동작하며, 새 스크립트는 후자를 선호합니다.
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdkecho $ANDROID_EMULATOR_HOME에뮬레이터 설정 디렉터리(기본 `$ANDROID_SDK_ROOT/emulator`)를 출력합니다. `~/.android/` vs SDK 경로를 추적할 때 유용합니다.
ls $ANDROID_EMULATOR_HOME/lib/기타
avdmanager --versionavdmanager / cmdline-tools 버전을 출력합니다.
avdmanager --versionemulator -version에뮬레이터 패키지 버전을 출력합니다.
emulator -versionavdmanager --help모든 avdmanager 하위 명령을 한 줄 설명과 함께 나열합니다.
avdmanager --help관련 명령어 치트시트
상표 및 사용 안내
본 명령줄 도구 치트시트 모음은 오픈 커뮤니티 참고 자료입니다. 본 문서에서 언급되는 도구의 명칭, 로고, 상표(예: Git™, Docker™, Kubernetes®, kubectl, PostgreSQL®, MySQL®, Redis™, MongoDB®, Linux™, PowerShell™, Vim™ 등)는 각 권리자의 자산이며, 본 문서에서는 식별 및 참고 목적のみで 사용됩니다.
본 치트시트의 모든 내용은 독립적으로 작성된 단순화된 자체 완결형 참고 자료이며, 어떠한 공식 문서와도 계열·인정·출처 관계가 없습니다. 명령 목록, 플래그 설명, 예제는 모두 저자의 원본 단순화이며, 권위 있는 정보가 필요한 경우 각 도구의 공식 문서를 참조하시기 바랍니다.
명령 구문 및 옵션 플래그는 도구 버전에 따라 다를 수 있습니다. 표시되는 버전 태그는 안정 릴리스를 반영하며, 다른 버전에서는 동작이 다를 수 있습니다. 본 치트시트는 상표권자의 어떠한 선호나 권장도 의미하지 않습니다.
상표권자 또는 저작권자가 사이트의 일부 내용에 대해 권리 침해가 있다고 판단하시는 경우 [email protected]으로 이메일을 보내 주십시오. 유효한 권리 증명을 받은 후 합리적인 기간 내에 관련 내용을 수정하거나 삭제하겠습니다.
본 사이트는 사이트 정보의 이용으로 인해 발생하는 어떠한 직접적 또는 간접적 손해에 대해서도 법적 책임을 지지 않습니다.
AVD Manager 소개
Android Virtual Device(AVD) Manager는 안드로이드 에뮬레이터를 구동하는 툴체인입니다. 두 CLI가 협력합니다: `avdmanager`(Android SDK Command-line Tools와 함께 제공, Studio 3.0/2017부터)는 AVD 정의를 관리하고, `emulator`(Android Emulator 패키지와 함께 제공)는 실행합니다. AVD는 QEMU 기반 가상 안드로이드 폰, 태블릿, Wear, TV, Auto 디바이스로 부팅되는 프로파일(하드웨어, 시스템 이미지, 스토리지, 스킨)입니다. 현재 안정 라인은 AVD Manager 34+(Android 14)입니다. AVD는 물리적 디바이스 없이 개발하는 경우, 자동화된 UI 테스트, 데모, CI 매트릭스 커버리지에 유용합니다. 모던 Android Studio는 Google Play가 포함된 x86_64 시스템 이미지를 선호합니다(하드웨어 가속 + Google API). AVD는 `~/.android/avd/` 아래에 있습니다. 하드웨어 가속은 Linux에서는 KVM, Windows에서는 HAXM(지원 종료) 또는 WHPX/Windows Hypervisor Platform, macOS에서는 HVF가 필요합니다. AVD 스냅샷에는 로그인된 Google 계정이나 독점 앱이 포함될 수 있으므로 업로드하지 마세요.
치트시트 버전 1.0.0