avd manager
AVD Manager 34+Android Virtual Device(avdmanager/emulator)CLI 命令快速參考:建立/編輯/刪除 AVD、列出系統映像、無頭啟動模擬器、snapshot 管理與網路轉發——附常用參數與實作範例。
34 條命令
檢視
avdmanager list avd列出所有 AVD 及其名稱、路徑、目標 API、ABI、skin。
-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/地圖等)的 Android <api> 系統映像(x86_64)。映像 ID 格式為 `<類型>;<版本>;<變體>;<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 ...把「Create custom hardware profile?」提示自動回答為 `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 版系統映像的 tag,適合測試應用內購買/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(定義 + 預設 snapshot)。
-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 的無頭啟動——無畫面、無聲音、跳過開機動畫、不載入已存 snapshot(永遠冷啟動)。
-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=$(emulator -list-avds | head -1) && emulator -avd "$AVD" -no-windowSnapshots
emulator -avd <name> -no-snapshot每次都冷啟動 AVD,忽略任何已存 snapshot。當 snapshot 狀態可疑時使用。
emulator -avd pixel_7_api34 -no-snapshotadb -s emulator-5554 emu snapshot save <tag>把當前模擬器狀態存成具名 snapshot。
adb -s emulator-5554 emu snapshot save clean-installadb -s emulator-5554 emu snapshot load <tag>下次啟動時還原具名 snapshot。
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 的螢幕 skin(`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 套件版本。
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 發佈,自 2017 年的 Studio 3.0 起)負責管理 AVD 定義;`emulator`(隨 Android Emulator 套件發佈)負責執行它們。一個 AVD 是一個設定檔(硬體、系統映像、儲存空間、skin),可開機進入基於 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 snapshot——可能含有已登入的 Google 帳號或專屬應用。
速查頁版本 1.0.0