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 パッケージ(システム イメージ、ビルド ツール、Platform Tools、NDK)を一覧表示します。AVD 作成前にシステム イメージ ID を検索するために使用します。
--include_obsolete
sdkmanager --list | grep 'system-images;android-34'システム イメージのインストール
sdkmanager 'system-images;android-<api>;google_apis;x86_64'x86_64 用に Google APIs(Play ストア / マップなど)付きの 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_playstoreアプリ内購入 / Google サインイン フローのテストに役立つ Play Store フレーバー システム イメージ用の AVD をタグ付けします。
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; 2 番目以降のエミュレーターは 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` 上の dev サーバー)。
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>ADBs シリアル(`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/` と SDK パスの追跡に便利です。
ls $ANDROID_EMULATOR_HOME/lib/その他
avdmanager --versionavdmanager / cmdline-tools バージョンを表示します。
avdmanager --versionemulator -versionエミュレーター パッケージ バージョンを表示します。
emulator -versionavdmanager --helpすべての avdmanager サブコマンドを 1 行説明とともに一覧表示します。
avdmanager --help関連コマンド速查
商標と利用についての告知
本コマンドラインツール・チートシート集はオープンコミュニティの参考資料です。本書で言及するツールの名前、ロゴ、商標(Git™、Docker™、Kubernetes®、kubectl、PostgreSQL®、MySQL®、Redis™、MongoDB®、Linux™、PowerShell™、Vim™ など)はすべてそれぞれの権利者の財産であり、本書では識別および参照の目的のみに使用しています。
本チートシートの全内容は独立して作成された簡略化された自己完結型の参考資料であり、いかなる公式ドキュメントにも所属せず、承認されておらず、また引用されたものでもありません。コマンド一覧、オプションフラグの説明、コード例はすべて著者による独自の簡略化です。権威ある情報については、各ツールの公式ドキュメントを参照してください。
コマンドの構文およびオプションフラグはツールのバージョンによって異なる場合があります。表示されるバージョンタグは安定リリースを示しています。他のバージョンでは動作が異なる場合があります。本書は商標権者による推奨や選好を意味するものではありません。
商標権者または著作権者の方で、当サイトの一部内容について権利侵害の懸念がある場合は[email protected]までご連絡ください。有効な権利証明を受領次第、合理的な期間内に関連内容を修正または削除いたします。
当サイトの情報を利用したことで生じたいかなる直接的・間接的損害についても、当サイトは法的責任を負いません。
AVD Manager について
Android Virtual Device (AVD) Manager は Android エミュレーターを支えるツールチェーンです。2 つの CLI が連携します:AVD 定義を管理する `avdmanager`(Android SDK Command-line Tools に同梱、Studio 3.0 の 2017 年以降)と、それらを実行する `emulator`(Android Emulator パッケージに同梱)。AVD は、QEMU ベースの仮想 Android フォン、タブレット、Wear、TV、Auto デバイスにブートするプロファイル(ハードウェア、システム イメージ、ストレージ、スキン)です。現在の安定版は AVD Manager 34+(Android 14)です。AVD は物理デバイスなしでの開発、自動 UI テスト、デモ、CI マトリックス カバレッジに役立ちます。モダンな Android Studio はハードウェア アクセラレーションと Google API のために Google Play 付きの x86_64 システム イメージを優先します。AVD は `~/.android/avd/` 配下にあります。ハードウェア アクセラレーションには Linux では KVM、Windows では HAXM(非推奨)または WHPX / Windows Hypervisor Platform、macOS では HVF が必要です。AVD スナップショットは決してアップロードしないでください — ログイン済みの Google アカウントや独自アプリが含まれている可能性があります。
チートシート バージョン 1.0.0