Android SDK には、コンピュータで実行される仮想デバイスである Android デバイス エミュレータが含まれています。Android Emulator を使用すると、実機を使用せずに Android アプリを開発およびテストできます。
このページでは、Android Emulator で使用できるコマンドライン機能について説明します。Android Emulator UI の使用方法については、Android Emulator 上でアプリを実行するをご覧ください。
Android Emulator の起動
プロジェクトを実行したり、AVD Manager から起動したりする代わりに、emulator コマンドを使用してエミュレータを起動します。
ターミナルのプロンプトから仮想デバイスを起動するための基本的なコマンドライン構文は次のとおりです。
emulator -avd avd_name [ {-option [value]} … ]
または
emulator @avd_name [ {-option [value]} … ]
たとえば、Mac で実行されている Android Studio 内からエミュレータを起動する場合、デフォルトのコマンドラインは次のようになります。
/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 Studio 内のエミュレータ ウィンドウを実行するためにのみ使用されます。エミュレータを専用のウィンドウで実行する場合は、これらの追加パラメータを使用しないでください。
起動オプションはエミュレータを起動する際に指定できます。起動後は指定できません。
AVD 名のリストを表示するには、次のコマンドを入力します。
emulator -list-avds
   このオプションを使用すると、Android ホーム ディレクトリにある AVD 名のリストが表示されます。Android ホーム ディレクトリはすべての構成と AVD コンテンツが保存されるユーザー固有のディレクトリのルートです。ANDROID_SDK_HOME 環境変数を設定することにより、デフォルトのホーム ディレクトリをオーバーライドすることもできます。
環境変数は、仮想デバイスを起動する前にターミナル ウィンドウで設定できます。または、オペレーティング システムのユーザー設定でも設定できます(Linux の .bashrc ファイル内など)。
Android Emulator を停止するには、エミュレータ ウィンドウを閉じます。
アプリをインストールする
仮想デバイスへのアプリのインストールは、Android Studio やエミュレータ UI で行えるほか、adb ユーティリティでも行えます。
adb を使用したアプリのインストール、実行、テストの手順は次のとおりです。
- アプリをビルドして実行するに説明されている方法で、アプリをビルドして APK にパッケージ化します。
- 前のセクションで説明したように、必要な起動オプションを使用して、コマンドラインからエミュレータを起動します。
- adbを使用してアプリをインストールします。
- エミュレータでアプリを実行してテストします。
 エミュレータの実行中に、必要に応じてエミュレータ コンソールを使用してコマンドを発行できます。
アプリをアンインストールする方法は、Android デバイスでの通常の方法と同じです。
仮想デバイスは、再起動後もユーザーデータ ディスク パーティション(userdata-qemu.img)にアプリとその状態データを保持します。このデータをクリアするには、-wipe-data オプション付きでエミュレータを起動するか、AVD Manager でデータを消去します。ユーザーデータ パーティションとその他のストレージの詳細については、次のセクションをご覧ください。
注: adb ユーティリティは、仮想デバイスを実際の物理デバイスとして認識します。このため、一般的な adb コマンド(install など)で -d フラグが必要になる場合があります。-d フラグを使用すると、接続されている複数のデバイスのうち対象となるデバイスを指定できます。-d を指定しない場合、リスト内の最初のデバイスがエミュレータの対象になります。
デフォルトのディレクトリとファイルの理解
エミュレータはいくつかの関連するファイルを使用しますが、AVD システム ディレクトリと 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 | エミュレートされたシステムで  
各仮想デバイス インスタンスは、書き込み可能なユーザーデータ イメージを使用して、ユーザー固有のデータとセッション固有のデータを格納します。たとえば、個々のユーザーのインストール済みアプリデータ、設定、データベース、ファイルの保存にこのイメージを使用します。ユーザーごとに、そのユーザーが作成した AVD のデータ ディレクトリを格納する個別の  | -data | 
| cache.img | エミュレートされたシステムで cache/として表示される、キャッシュ パーティション イメージ。最初に AVD を作成するとき、または-wipe-dataオプションを使用するときは、空です。一時的なダウンロード ファイルの格納場所であり、ダウンロード マネージャー(場合によってはシステム)によってデータが格納されます。たとえば、ブラウザはエミュレータの実行中にダウンロードしたウェブページと画像をキャッシュするためにこのイメージを使用します。仮想デバイスの電源を切ると、ファイルは削除されます。ファイルを保持するには、-cacheオプションを使用します。 | -cache | 
| sdcard.img | (任意)仮想デバイスで SD カードをシミュレートできる SD カード パーティション イメージ。SD カードのイメージ ファイルの作成には、AVD Manager または  
AVD Manager で AVD を定義する際は、自動的に管理される SD カードファイルを使用するか、 
仮想デバイスの実行中、エミュレータ UI や  
仮想デバイスに読み込まれる前の SD カードファイルにファイルをコピーするには、イメージ ファイルをループデバイスとしてマウントしてから、ファイルをコピーします。または、 エミュレータはファイルをバイトのプールとして処理するため、SD カードの形式は関係ありません。 
 | -sdcard | 
エミュレータが使用するディレクトリおよびファイルのリスト
ファイルの場所は、次の 2 つの方法で確認できます。
- コマンドラインからエミュレータを起動する場合は、-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: よく使用されるコマンドライン オプション
| コマンドライン オプション | 説明 | 
|---|---|
| クイックブート | |
| -no-snapshot-load | コールドブートを実行し、終了時にエミュレータの状態を保存します。 | 
| -no-snapshot-save | 可能であればクイックブートを実行しますが、終了時にエミュレータの状態を保存しません。 | 
| -no-snapshot | クイックブート機能を完全に無効にします。エミュレータの状態を読み込まず、保存もしません。 | 
| デバイス ハードウェア | |
| -camera-back mode-camera-front mode | 背面カメラまたは前面カメラのエミュレーション モードを設定します。このオプションは AVD のカメラ設定をオーバーライドします。 
 
 次に例を示します。 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'この例で、最初の  SDK Tools 25.2.4 の時点では、AVD 名は必須です。 | 
| ディスク イメージとメモリ | |
| -memory size | 物理 RAM サイズを 1,536 ~ 8,192 MB の範囲で指定します。例: 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 で別のファイルを指定していなければ)デフォルトはデータ ディレクトリの  | 
| -wipe-data | ユーザーデータを削除し、初期データファイルからデータをコピーします。このオプションは、仮想デバイスのデータをクリアし、最初に定義されたときと同じ状態に戻します。インストールされているすべてのアプリと設定が削除されます。次に例を示します。 
 emulator @Pixel8_API_34 -wipe-data 
  デフォルトでは、ユーザーデータ ファイルは  | 
| デバッグ | |
| -debug tags | 1 つ以上のタグについてデバッグ メッセージの表示を有効または無効にします。複数のタグは、スペース、カンマ、コロンのいずれかで区切ります。次に例を示します。 
 $ emulator @Pixel8_API_34 -debug init,metrics タグを無効にするには、そのタグの前にダッシュ(-)を付加します。たとえば次のオプションは、ネットワーク ソケットと指標に関するものを除くすべてのデバッグ メッセージを表示します。 
   
  タグとその説明の一覧を表示するには、 
 emulator -help-debug-tags 
   
 ANDROID_VERBOSE=socket,gles これは以下を使用するのと同等です。 
   または 
 | 
| -debug-tag-debug-no-tag | 特定のデバッグ メッセージ タイプを有効にします。デバッグ メッセージ タイプを無効にするには、 no形式を使用します。次に例を示します。
 emulator @Pixel8_API_34 -debug-all -debug-no-metrics 
タグの一覧を表示するには、 | 
| -logcat logtags | 1 つ以上のタグの Logcat メッセージの表示を有効にして、ターミナル ウィンドウに書き込みます。たとえば、次のコマンドは、すべてのコンポーネントからのエラー メッセージを有効にします。 
 emulator @Pixel8_API_34 -logcat *:e 
   
 
 次の例では、情報ログレベルで GSM コンポーネントのメッセージを表示します。 
 emulator @Pixel8_API_34 -logcat '*:s GSM:i' 
  コマンドラインで  Logcat と  | 
| -show-kernel | ターミナル ウィンドウにカーネル デバッグ メッセージを表示します。次に例を示します。 
 emulator @Pixel8_API_34 -show-kernel このオプションの用途の一つは、起動プロセスが正常に機能するかどうかをチェックすることです。 | 
| -verbose | エミュレータの初期化メッセージをターミナル ウィンドウに出力します。次に例を示します。 
 emulator @Pixel8_API_34 -verbose 
      AVD で定義された仮想デバイスの起動時に実際に選択されるファイルと設定が表示されます。このオプションは、 | 
| ネットワーク | |
| -dns-server servers | 指定した DNS サーバーを使用します。 serversは、最大 4 つの DNS サーバー名または IP アドレスのカンマ区切りのリストです。次に例を示します。emulator @Pixel8_API_34 -dns-server 192.0.2.0, 
  デフォルトでは、エミュレータは使用中の DNS サーバーを検出し、エミュレートされたファイアウォール ネットワークに特別なエイリアスを設定して、Android システムがサーバーに直接接続できるようにします。DNS サーバーの別のリストを指定するには、 | 
| -http-proxy proxy | 指定された HTTP/HTTPS プロキシを介してすべての TCP 接続を確立します。エミュレータがプロキシ サーバー経由でインターネットにアクセスする必要がある場合は、このオプションまたは http_proxy環境変数を使用して適切なリダイレクトをセットアップできます。次に例を示します。
 emulator @Pixel8_API_34 -http-proxy myserver:1981 
 
 
 
  このオプションを指定しない場合、エミュレータは  | 
| -netdelay delay | ネットワーク レイテンシ エミュレーションをミリ秒単位で次の  
 次に例を示します。 emulator @Pixel8_API_34 -netdelay gsm 
  エミュレータはネットワーク スロットリングと、さらに大きな接続レイテンシをサポートします。これは、スキン構成を使用するか、 | 
| -netfast | ネットワーク スロットリングを無効にします。次に例を示します。 
 emulator @Pixel8_API_34 -netfast 
  このオプションは、 | 
| -netspeed speed | ネットワーク速度のエミュレーションを設定します。次のいずれかの  
 次に例を示します。 emulator @Pixel8_API_34 -netspeed edge 
  エミュレータはネットワーク スロットリングと、さらに大きな接続レイテンシをサポートします。これは、スキン構成を使用するか、 | 
| -port port | コンソールと adbに使用される TCP ポート番号を設定します。次に例を示します。
 emulator @Pixel8_API_34 -port 5556 
  マシンで実行される最初の仮想デバイス インスタンスのデフォルト値は 5554 です。通常、仮想デバイスは、コンソール ポートと  
  多くの場合、ポートの割り当ては、 
 
  なお、 | 
| -ports  | コンソールと adbに使用される TCP ポートを設定します。次に例を示します。
 emulator @Pixel8_API_34 -ports 5556,5559 
  有効なポート範囲は 5554~5682 で、64 の仮想デバイスが同時に存在できます。 
  可能であれば、代わりに  
  コンソール ポートと  | 
| -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 デバイスをエミュレートしていない場合、このオプションは無視されます。 
 
 詳細については、Android Emulator のハードウェア アクセラレーションを設定するをご覧ください。 | 
| -accel-check | エミュレータの VM アクセラレーションに必要なハイパーバイザ(HAXM または KVM)がインストールされているかどうかをチェックします。次に例を示します。 
 emulator -accel-check 詳細については、ハイパーバイザがインストールされているかどうかを確認するをご覧ください。 | 
| -engine engine | エミュレータ エンジンを指定します。 
 次に例を示します。 
 emulator @Pixel8_API_34 -engine auto 
自動検出により、特定の AVD をエミュレートするときに最大のパフォーマンスが得られる値が選択されます。 | 
| -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 ランタイムで拡張 Java Native Interface(JNI)チェックを無効にします。次に例を示します。 
 emulator @Pixel8_API_34 -nojni 仮想デバイスを起動すると、拡張 JNI チェックがデフォルトで有効になります。詳細については、JNI に関するヒントをご覧ください。 | 
| -selinux {disabled|permissive} | Linux オペレーティング システムで、Security-Enhanced Linux(SELinux)のセキュリティ モジュールを disabledモードまたはpermissiveモードに設定します。次に例を示します。
 me-linux$ emulator @Pixel8_API_34 -selinux permissive 
  デフォルトでは、SELinux は  | 
| -timezone timezone | 仮想デバイスのタイムゾーンを、ホストのタイムゾーンではなく  emulator @Pixel8_API_34 -timezone Europe/Paris 
  エミュレータはデフォルトで開発用コンピュータのタイムゾーンを使用します。このオプションは異なるタイムゾーンを指定する場合や、自動検出が正しく機能しない場合に使用してください。 
 指定されたタイムゾーンは 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 
 
 | 
高度なオプション
次の表は、利用可能なものの、一般的なアプリ デベロッパーはあまり使用することがないコマンドライン起動オプションをまとめたものです。
以下の説明における「作業ディレクトリ」とは、コマンドを入力しているターミナルの現在のディレクトリです。AVD のシステム ディレクトリとデータ ディレクトリ、およびそれらに格納されているファイルの詳細については、デフォルトのディレクトリとファイルのセクションをご覧ください。
これらのオプションには、外部アプリ デベロッパーに適しているものもあれば、主にプラットフォーム デベロッパーが使用するものもあります。アプリ デベロッパーは Android アプリを作成し、特定の AVD で実行します。一方、プラットフォーム デベロッパーは Android システムで作業し、AVD を事前に作成せずにエミュレータ内で実行します。
表 4. 高度なコマンドライン オプション
| 高度なオプション | 簡単な説明 | 
|---|---|
| -bootchart timeout | 秒単位のタイムアウトを指定して、ブートチャートを有効にします。一部の Android システム イメージには、ブートチャート機能を統合する変更済みの init システムがあります。このオプションを使用すると、ブートチャートのタイムアウト期間をシステムに渡すことができます。init システムでブートチャートがアクティブになっていない場合、オプションは何もしません。このオプションは、外部アプリ デベロッパーではなく、主にプラットフォーム デベロッパーに役立ちます。 次に例を示します。 emulator @Pixel8_API_34 -bootchart 120 | 
| -cache filepath | キャッシュ パーティション イメージ ファイルを指定します。永続的なキャッシュ ファイルをセットアップするには、ファイル名に加え、絶対パスまたはデータ ディレクトリへの相対パスを指定します。ファイルが存在しない場合、エミュレータは空のファイルとして作成します。 次に例を示します。 emulator @Pixel8_API_34 -cache ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img このオプションを使用しない場合、デフォルトは  | 
| -cache-size size | キャッシュ パーティション サイズを MB 単位で設定します。 次に例を示します。 emulator @Pixel8_API_34 -cache-size 1000 このオプションを指定しない場合、デフォルトは 66 MB になります。通常、ほとんどのアプリ デベロッパーは、デフォルトのキャッシュのサイズを超える非常に大きなファイルをダウンロードする必要がない限り、このオプションを使用する必要はありません。キャッシュ ファイルの詳細については、AVD データ ディレクトリをご覧ください。 | 
| -data filepath | ユーザーデータ パーティション イメージ ファイルを設定します。永続的なユーザーデータ ファイルをセットアップするには、ファイル名と、絶対パスまたは作業ディレクトリへの相対パスを指定します。ファイルが存在しない場合、エミュレータはデフォルトの  次に例を示します。 emulator @Pixel8_API_34 -data ~/.android/avd/Pixel8_API_34.avd/userdata-test.img このオプションを使用しない場合、デフォルトは  | 
| -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 | 文字の  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 | データ パーティションの初期バージョンを指定します。ユーザーデータを消去した後、エミュレータはデフォルトの  次に例を示します。 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 このオプションを指定しない場合、デフォルトは  | 
| -noaudio-no-audio | この仮想デバイスのオーディオ サポートを無効にします。一部の Linux および Windows コンピュータには、エミュレータの起動を妨げるなど、さまざまな障害を引き起こすオーディオ ドライバの不良があります。この場合、このオプションを使用して問題を解決できます。このオプションの代わりに、 次に例を示します。 emulator @Pixel8_API_34 -noaudio | 
| -nocache-no-cache | キャッシュ パーティションなしでエミュレータを起動します。このオプションを使用しない場合、デフォルトは  次に例を示します。 emulator @Pixel8_API_34 -nocache | 
| -no-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 | 状態スナップショットを保存または読み込むためのファイルをマウントせずにエミュレータを起動し、フルブートを強制して、状態スナップショット機能を無効にします。このオプションは、 次に例を示します。 emulator @Pixel8_API_34 -no-snapstorage | 
| -no-window | エミュレータのグラフィカル ウィンドウ表示を無効にします。このオプションは、ディスプレイのないサーバーでエミュレータを実行するときに役立ちます。エミュレータには、 emulator @Pixel8_API_34 -no-window | 
| -partition-size size | システムデータ パーティション サイズを MB 単位で指定します。次に例を示します。 emulator @Pixel8_API_34 -partition-size 1024 | 
| -prop name=value | エミュレータの起動時に Android システム プロパティを設定します。 emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz | 
| -qemu args | 引数を QEMU エミュレータ ソフトウェアに渡します。このオプションは、必ず最後に指定するようにしてください。このオプション以降のすべてのオプションは QEMU 固有のオプションとして解釈されます。このオプションは非常に高度であり、QEMU および Android エミュレーションに精通しているデベロッパー以外は使用しないようにしてください。 | 
| -qemu -h | 
 emulator -qemu -h | 
| -ramdisk filepath | RAM ディスク ブートイメージを指定します。ファイル名と、絶対パスまたは作業ディレクトリへの相対パスを指定します。 次に例を示します。 emulator @Pixel8_API_34 -ramdisk ~/Library/Android/sdk/system-images/android-34/ google_apis/x86_64/ramdisk-test.img このオプションを使用しない場合、デフォルトはシステム ディレクトリの  | 
| -report-console socket | エミュレーションを開始する前に、コンソール ポートをリモートのサードパーティに報告します。自動化されたテスト スクリプトに役立ちます。 
 詳細を確認するには、特定のオプションに関するヘルプのセクションで説明されている  | 
| -shell | 現在のターミナルで root シェル コンソールを作成します。このオプションは、次の点で  
 次に例を示します。 emulator @Pixel8_API_34 -shell | 
| -snapshot name | 自動開始および保存オペレーション用スナップショット ストレージ ファイル内のスナップショットの名前を指定します。 エミュレータは、完全なブート シーケンスを実行する代わりに、以前の状態のスナップショットから実行を再開できます。これにより通常はかなり高速になります。このオプションを指定すると、エミュレータはスナップショット イメージからその名前のスナップショットをロードし、終了時に同じ名前で保存します。 このオプションを使用しない場合、デフォルトで完全なブート シーケンスが実行されます。指定されたスナップショットが存在しない場合、エミュレータは代わりに完全なブート シーケンスを実行し、保存オペレーションを行います。 スナップショット ストレージ ファイルとデフォルト ファイルの指定については、 emulator @Pixel8_API_34 -snapshot snapshot2 スナップショットを読み込むプロセスでは、システムのすべてのコンテンツ、ユーザーデータ、SD カードイメージが、スナップショットが作成されたときに保持されていたコンテンツで上書きされることにご注意ください。この情報を別のスナップショットに保存しない限り、スナップショット作成以降の変更は失われます。 
 | 
| -snapshot-list | 使用可能なスナップショットのリストを表示します。このコマンドは、エミュレータの起動に使用されたスナップショット ストレージ ファイルに保存されているスナップショットの表を出力し、終了します。 次に例を示します。 emulator @Pixel8_API_34 -snapshot-list -snapstorage ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img 出力に含まれる ID および TAG 列の値を、 | 
| -snapstorage filepath | すべての状態スナップショットを含むリポジトリ ファイルを指定します。実行中に作成されたすべてのスナップショットはこのファイルに保存されます。このファイル内のスナップショットのみがエミュレータの実行中に復元できます。 次に例を示します。 emulator @Pixel8_API_34 -snapstorage ~/.android/avd/Pixel8_API_34.avd/snapshots-test.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 このオプションを使用しない場合、デフォルトはシステム ディレクトリの  | 
| -use-system-libs | Linux では、エミュレータ システムにバンドルされているバージョンではなく、システムの  次に例を示します。 me-linux$ emulator @Pixel8_API_34 -use-system-libs | 
| -writable-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 オプションを使用すると、タグで指定された特定のエミュレータ コンポーネントからのデバッグ メッセージを有効または無効にできます。
