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 包——系统镜像、build tools、platform tools、NDK。创建 AVD 前用它来查找系统镜像 ID。
--include_obsolete
sdkmanager --list | grep 'system-images;android-34'安装系统镜像
sdkmanager 'system-images;android-<api>;google_apis;x86_64'下载带 Google API(Play Store / Maps 等)的 Android <api> x86_64 系统镜像。镜像 ID 格式为 `<type>;<version>;<variant>;<abi>`。
sdkmanager 'system-images;android-34;google_apis_playstore;x86_64'sdkmanager 'system-images;android-<api>;default;arm64-v8a'Apple Silicon 变体(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_playstore为 AVD 标记 Play Store 系列系统镜像,适合测试应用内购买 / Google 登录流程。
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。需要 emulator 包与加速虚拟化支持(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-anim适合 CI 的无头启动——无显示、无声、跳过开机动画、不加载已有快照(始终冷启动)。
-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>让模拟器可以访问主机端口(例如 dev server 在 `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>限制模拟器内存。默认根据设备配置推导;CI runner 上可以调低。
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_HOME打印 AVD 存储目录(默认 `~/.android/avd`)。覆盖即可把 AVD 移到高速 SSD。
export ANDROID_AVD_HOME=/mnt/fast-ssd/.android/avdecho $ANDROID_SDK_ROOT打印 SDK 安装根目录。`ANDROID_SDK_ROOT` 和 `ANDROID_HOME` 都可用;新版脚本更倾向后者。
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdkecho $ANDROID_EMULATOR_HOME打印模拟器配置目录(默认 `$ANDROID_SDK_ROOT/emulator`)。排查 `~/.android/` 与 SDK 路径时有用。
ls $ANDROID_EMULATOR_HOME/lib/杂项
avdmanager --version打印 avdmanager / 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 是驱动 Android 模拟器的工具链。两个 CLI 协同工作:`avdmanager`(随 Android SDK Command-line Tools 一起发布,自 Studio 3.0 / 2017 起)负责管理 AVD 定义;`emulator`(随 Android Emulator 包发布)负责运行它们。一个 AVD 是一个配置文件(硬件、系统镜像、存储、外观),会启动进一个基于 QEMU 的虚拟 Android 手机、平板、Wear、TV 或 Auto 设备。当前稳定版本线是 AVD Manager 34+(Android 14)。AVD 适用于无真机情况下的开发、自动化 UI 测试、demo,以及 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