エミュレータの高度な使用方法

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

場合によっては、基本的なタッチ スクリーンのジェスチャーとスマートフォンの操作以外の方法を使用して、仮想デバイスでアプリをテストする必要があります。たとえば、さまざまな場所やネットワーク状況をシミュレートしたい場合などです。このページでは、高度なエミュレータ機能と、Android Studio でエミュレータを起動するさまざまな方法について説明します。

このセクションの別のページでは、ターミナルを使用する、エミュレータのさらに高度な使用方法について説明しています。また、次のようなニッチなユースケースもあります。

ほとんどのアプリ デベロッパーは、基本的なエミュレータ ナビゲーション機能とこのページの機能で、テストのニーズを満たすことができます。エミュレータの操作方法に応じて何ができるかを個別に比較するには、エミュレータの機能比較をご覧ください。

スクリーンショット

仮想デバイスのスクリーンショットを撮るには、スクリーンショット撮影アイコン スクリーンショット撮影アイコン をクリックします。

表示される [Screen Capture] ダイアログで、撮影した画像を再撮影、編集、コピーできます。画像に問題がなければ、[Save] をクリックします。撮影した年、月、日、時間、分、秒を含む Screenshot_yyyymmdd-hhmmss.png という名前の PNG ファイルが作成されます(例: Screenshot_20160219-145848.png)。必要であれば、名前を変更することも、ファイルの保存先を選択してパソコンに保存することもできます。

次のいずれかのコマンドを使用して、コマンドラインからスクリーンショットを撮ることもできます。

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

画面の録画

Android Emulator から動画と音声を記録し、WebM またはアニメーション GIF ファイルに保存できます。

画面録画コントロールは、[Extended Controls] ウィンドウの [Record and Playback] タブにあります。

ヒント: 画面録画コントロールは、Ctrl+Shift+R(Mac では command+shift+R)キーを押して開くこともできます。

画面の録画を開始するには、[Record and Playback] タブの [Start recording] ボタンをクリックします。録画を停止するには、[Stop recording] をクリックします。

録画した動画を再生および保存するコントロールは、[Record and Playback] タブの下部にあります。動画を保存するには、タブの下部にあるメニューから [WebM] または [GIF] を選択して、[Save] をクリックします。

または、コマンドラインで次のコマンドを使用して、エミュレータから画面の録画と保存を行うこともできます。

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

カメラのサポート

以前のバージョンの Android の仮想デバイスでは、エミュレータは基本的なカメラ機能をサポートしています。Android 11 以降で追加されている Android Emulator のカメラ機能は、以下のとおりです。

  • RAW 撮影
  • YUV 再処理
  • レベル 3 デバイス
  • 論理カメラのサポート
  • センサー マネージャーのデータを使用してセンサーの向きをエミュレート
  • ハンドシェイク頻度の低減によるビデオの手ぶれ補正
  • 通常は YUV パイプラインで行われるアップスケーリングを除去してエッジ補正を適用
  • 同時カメラ

仮想シーンカメラと ARCore

仮想環境で仮想シーンカメラを使用して、ARCore で作成された拡張現実(AR)アプリを試すことができます。

エミュレータで仮想シーンカメラを使用する方法については、Android Emulator で AR アプリを実行するをご覧ください。

エミュレータでカメラアプリを使用する場合、仮想シーン内で使用する PNG または JPEG 形式の画像をインポートできます。仮想シーンで使用する画像を選択するには、[Extended controls] ウィンドウの [Camera] > [Virtual scene images] タブで [Add image] をクリックします。この機能を使用すると、カメラベースのアプリで使用する QR コードなどのカスタム画像をインポートできます。詳細については、拡張画像をシーンに追加するをご覧ください。

一般的な AR アクションをマクロでテストする

エミュレータでプリセット マクロを使用すると、一般的な AR アクションのテストにかかる時間を大幅に短縮できます。たとえば、マクロを使用して、デバイスのすべてのセンサーをデフォルトの状態にリセットできます。

マクロを使用する前に、Android Emulator で AR アプリを実行するの手順に沿って、アプリで使用する仮想シーンカメラを設定し、エミュレータでアプリを実行して、ARCore を更新します。その後に、次の手順でエミュレータ マクロを使用します。

  1. エミュレータを実行し、アプリを ARCore に接続して、エミュレータ パネルのその他アイコン をクリックします。
  2. [Record and Playback ] > [Macro Playback] を選択します。
  3. 使用するマクロを選択し、[Play] をクリックします。

    再生中に [Stop] をクリックすると、マクロを中断できます。

別のウィンドウでエミュレータを起動する

デフォルトでは、Android Emulator は Android Studio 内で直接実行されます。これにより、画面のスペースを有効活用できるとともに、エミュレータとエディタ ウィンドウの間をホットキーで簡単に移動できます。また、IDE とエミュレータ ワークフローが単一のアプリケーション ウィンドウ内で整理されます。ただし、一部のエミュレータ機能は、別のウィンドウで実行する場合にのみ使用できます。別のウィンドウでエミュレータを起動するには、[File] > [Settings] > [Tools] > [Emulator](macOS では [Android Studio] > [Preferences] > [Tools] > [Emulator])に移動して、[Launch in a tool window] の選択を解除します。

拡張コントロール、設定、ヘルプ

拡張コントロールを使用すると、データの送信、デバイス プロパティの変更、アプリの制御などを行えます。[Extended controls] ウィンドウを開くには、エミュレータ パネルでその他アイコン エミュレータ拡張コントロール アイコン をクリックします。なお、拡張コントロール オプションの一部は、Android Studio の外部で、別のウィンドウでエミュレータを実行する場合にのみ使用できます。

これらのタスクの多くは、キーボード ショートカットで実行できます。エミュレータのショートカットの一覧を表示するには、F1(Mac では Command+/)キーを押して [Help] ペインを開きます。

表 1. 拡張コントロールの詳細

機能 説明
位置情報

エミュレータでは、現在地情報(現在エミュレートしているデバイスがある場所の情報)をシミュレートできます。たとえば、Google マップで現在地 現在地アイコン をクリックして位置情報を送信すると、地図にその場所が表示されます。

デバイスの位置情報に関するコントロールは、2 つのタブ([Single points] と [Routes])にまとめられています。

Single points

[Single points] タブでは、Google マップの WebView を使用して、スマートフォンやブラウザで Google マップを使用しているときと同じようにスポットを検索できます。地図で場所を検索またはクリックすると、地図の下部で [Save point] を選択して保存できます。保存した場所はすべて [Extended controls] ウィンドウの右側の一覧に表示されます。

エミュレータの場所を地図上で選択した場所に設定するには、[Extended controls] ウィンドウの右下にある [Set location] ボタンをクリックします。

Routes

[Single points] タブと同様に、[Routes] タブには、Google マップ WebView が表示されるので、2 つ以上の場所の間に経路を作成できます。経路を作成して保存する手順は次のとおりです。

  1. 地図表示で、テキスト フィールドを使用して経路の最初の目的地を検索します。
  2. 検索結果から場所を選択します。
  3. ナビゲーション ボタン を選択します。
  4. 地図から経路の出発地を選択します。
  5. (省略可)[Add destination] をクリックして、経由地をルートに追加します。
  6. 地図表示で [Save route] をクリックして経路を保存します。
  7. ルートの名前を指定して、[Save] をクリックします。

保存した経路に沿ってエミュレータでシミュレートするには、[Saved routes] リストから経路を選択し、[Extended controls] ウィンドウの右下にある [Play route] をクリックします。シミュレーションを停止するには、[Stop route] をクリックします。

指定した経路に沿ってエミュレータで継続的にシミュレートするには、[Repeat playback] のスイッチを有効にします。エミュレータが指定された経路をたどる速度を変更するには、[Playback speed] プルダウンから速度を選択します。

GPX データと KML データをインポートする

GPS データ交換フォーマット(GPX)やキーホール マークアップ言語(KML)ファイルの地理情報データを利用する方法は以下のとおりです。

  1. [Load GPX/KML] をクリックします。
  2. ファイル ダイアログでコンピュータ上にあるファイルを選択して [Open] をクリックします。
  3. 任意で [Speed] を選択します。
  4. 速度はデフォルトで [Delay](Speed 1X)に設定されています。速度は 2 倍(Speed 2X)、3 倍(Speed 3X)のように増加させることができます。

  5. 実行アイコン 実行アイコン をクリックします。
Displays

エミュレータを使用すると、サイズをカスタマイズ可能な複数のディスプレイにアプリをデプロイして、マルチウィンドウマルチディスプレイをサポートするアプリをテストできます。仮想デバイスの実行中、次のように、最大 2 つのディスプレイを追加できます。

  1. [Add secondary display] をクリックしてディスプレイを追加します。
  2. [Secondary displays] のプルダウンから、次のどちらかを行います。
    1. プリセットされているアスペクト比のいずれかを選択します。
    2. [custom] を選択して、カスタム ディスプレイの高さdpi を設定する
  3. (省略可)3 つ目のディスプレイを追加するには、[Add secondary display] をクリックします。
  4. [Apply changes] をクリックして、指定したディスプレイを、実行中の仮想デバイスに追加します。
モバイル

エミュレータでは、さまざまなネットワークの状態をシミュレートできます。さまざまなネットワーク プロトコルのネットワーク速度に近づけたり、[Full] を指定してコンピュータで実現できる最高速度でデータを転送したりできます。ネットワーク プロトコルを指定すると必ず、[Full] にした場合よりも速度が低下します。さらにローミングなど、音声やデータ ネットワークの状態も指定できます。デフォルトでは AVD に設定されています。

[Network type] の値を選択します。

  • GSM: Global System for Mobile Communications
  • HSCSD: High-Speed Circuit-Switched Data
  • GPRS: Generic Packet Radio Service
  • EDGE: Enhanced Data rates for GSM Evolution
  • UMTS: Universal Mobile Telecommunications System
  • HSPDA: High-Speed Downlink Packet Access
  • LTE: Long-Term Evolution
  • Full(デフォルト): コンピュータによって提供されるネットワークを使用します

[Signal strength] の値を選択します。

  • None
  • Poor
  • Moderate(デフォルト)
  • Good
  • Great

[Voice status] と [Data status] の一方または両方の値を選択します。

  • Home(デフォルト)
  • Roaming
  • Searching
  • Denied(緊急通報のみ)
  • Unregistered(オフ)
電池

デバイスの電池プロパティをシミュレートすると、さまざまな条件下でアプリの動作を確認できます。[Charge level] を選択するには、スライダー コントロールを使用します。

[Charger connection] の値を選択します。

  • None
  • AC charger

[Battery health] の値を選択します。

  • Good(デフォルト)
  • Failed
  • Dead
  • Overvoltage
  • Overheated
  • Unknown

[Battery status] の値を選択します。

  • Unknown
  • Charging(デフォルト)
  • Discharging
  • Not charging
  • Full
Camera エミュレータのカメラを開いたときにシミュレートされるシーンに画像を読み込むことができます。詳細については、ARCore ドキュメントのシーンに拡張画像を追加するをご覧ください。
Phone

エミュレータで電話の着信やテキスト メッセージの受信をシミュレートできます。

エミュレータへの通話を開始する方法は次のとおりです。

  1. [From] フィールドで電話番号の選択または入力を行います。
  2. [Call Device] をクリックします。
  3. 必要に応じて、[Hold Call] をクリックして通話を保留にします。
  4. [End Call] をクリックして、通話を終了します。

エミュレータにテキスト メッセージを送信する方法は以下のとおりです。

  1. [From] フィールドで電話番号の選択または入力を行います。
  2. [SMS message] フィールドでメッセージを入力します。
  3. [Send Message] をクリックします。
十字キー

AVD のハードウェア プロファイルで十字キーが有効になっている場合は、エミュレータで十字キーを利用できます。ただし、Android スマートウォッチなどの一部のデバイスは十字キーに対応していません。 各ボタンがシミュレートする動作は以下のとおりです。

十字キーのコントロール
Microphone [Virtual microphone uses host audio input] がオンになっている場合、エミュレータはホストマイクからオーディオ入力を受け取ります。そうでない場合は、オーディオ入力を受け取りません。[Virtual headset plug inserted]、[Virtual headset has microphone]、および [Voice Assist] オプションは、現在実装されていません。
Fingerprint

このコントロールでは 10 種の異なる指紋スキャンをシミュレートできます。この機能を使用して、アプリで指紋機能の統合をテストできます。この機能は、Android 5.1(API レベル 22)以前、および Wear OS では無効です。

仮想デバイス上で指紋のスキャンをシミュレートする方法は次のとおりです。

  1. 指紋データを受信するアプリを用意します。
  2. [Fingerprint] の値を選択します。
  3. [Touch Sensor] をクリックします。
Virtual sensors > Device Pose

このコントロールでは、デバイスの位置および / またはデバイスの向きの変化に対するアプリの反応をテストできます。たとえば、傾きや回転などのジェスチャーをシミュレートできます。加速度センサーは、デバイスの絶対位置を追跡することはありません。変更が発生したことを検出するだけです。このコントロールは、実際のデバイスを移動または回転させたときの加速度センサーと磁力計センサーの反応をシミュレートします。

このコントロールを使用するには、AVD の加速度センサーを有効にする必要があります。

このコントロールは、x、y、z 軸で TYPE_ACCELEROMETER イベントをレポートします。これらの値には重力が影響します。たとえば、デバイスが宇宙空間で吊り下げられている場合、加速度はゼロになります(x、y、z はすべて 0 になります)。デバイスが地球上にあり、テーブル上に画面を上にして置くと、重力のために加速度は 0、0、9.8 になります。

このコントロールは TYPE_MAGNETIC_FIELD イベントもレポートします。このイベントでは、x、y、z 軸の周囲磁場をマイクロテスラ(μT)単位で測定します。

x、y、z 軸でデバイスを回転させるには、[Rotate] を選択して、次のいずれかを行います。

  • [Yaw]、[Pitch]、[Roll] スライダーを調整し、上部ペインで位置を確認します。
  • 上部ペインに表示されているデバイスを移動させ、[Yaw]、[Pitch]、[Roll] と、その結果生じる加速度計値の変化を確認します。

Yaw、Pitch、Roll の計算方法の詳細は、デバイスの向きの計算に関する説明をご覧ください。

デバイスを水平(x)または垂直(y)に移動するには、[Move] を選択し、次のいずれかを行います。

  • [X] スライダーと [Y] スライダーを調整し、上部ペインで位置を確認します。
  • 上部ペインに表示されているデバイスを移動させ、[X]、[Y] のスライダー値と、その結果生じる加速度計値の変化を確認します。

デバイスを 0、90、180、270 度に配置するには:

  • [Device rotation] 領域で、回転を変更するボタンを選択します。

デバイスを調整すると、それに応じて [Resulting values] フィールドが変わります。これらの値には、アプリからアクセスできます。

上記のセンサーの詳細については、センサーの概要モーション センサー位置センサーをご覧ください。

Virtual sensors > Additional sensors

エミュレータは、さまざまな位置および環境センサーをシミュレートできます。 以下のセンサーを調整して、アプリでテストできます。

  • Ambient temperature: この環境センサーは周囲の気温を測定します。
  • Magnetic field: この位置センサーは、それぞれ X、Y、Z 軸の周囲磁場を測定します。値の単位はマイクロテスラ(μT)です。
  • Proximity: この位置センサーは、オブジェクトからの距離を測定します。たとえば、電話をかけるために顔がスマートフォンに近づいたことを通知できます。 このコントロールを使用するには、AVD で近接センサーを有効にする必要があります。
  • Light: この環境センサーは照度を測定します。値はルクス単位です。
  • Pressure: この環境センサーは、周囲の気圧を測定します。 値はミリバール(hPa)単位です。
  • Relative Humidity: この環境センサーは、周囲の相対湿度を測定します。

これらのセンサーの詳細については、センサーの概要位置センサー環境センサーをご覧ください。

Bug report エミュレータで問題が発生した場合は、バグレポートを作成して送信できます。エミュレータは、バグレポート用のスクリーンショットやログなどのデータを自動的に収集します。
Record and Playback 画面の録画をご覧ください。
Google Play Android Virtual Device は、Play ストア アプリを含むシステム イメージである場合、Google Play 開発者サービスのバージョン情報を表示します。
Settings > General
  • Emulator window theme: [Light] か [Dark] を選択します。
  • Send keyboard shortcuts to: デフォルトでは、いくつかのキーの組み合わせでエミュレータのコントロール ショートカットがトリガーされるようになっています。キーボード ショートカット機能に対応したアプリを開発している場合(Bluetooth キーボードを使うデバイスを対象とするアプリなど)、この設定を変更することで、エミュレータでショートカットとみなされる入力を含め、すべてのキーボード入力を仮想デバイスに送信できます。
  • Screenshot save location: フォルダ アイコンをクリックして、エミュレータ画面のスクリーンショットを保存する場所を指定します。
  • Use detected ADB location: Android Studio からエミュレータを実行している場合は、この設定(デフォルト値)を選択する必要があります。Android Studio 以外からエミュレータを実行しており、特定の adb 実行ファイルを使用したい場合は、このオプションの選択を解除して SDK Tools の場所を指定してください。この設定が正しくない場合、スクリーンショットのキャプチャやドラッグ&ドロップによるアプリのインストールなどの機能は動作しません。
  • When to send crash reports: [Always]、[Never]、[Ask] のいずれかを選択します。
  • Show window frame around device: デフォルトでは、デバイスのスキンファイルを含むエミュレータが周囲のウィンドウ フレームなしで表示されます。
Settings > Proxy

エミュレータはデフォルトで Android Studio の HTTP プロキシ設定を使用しますが、この画面でエミュレータの HTTP プロキシ設定を手動で定義できます。詳細は、プロキシを設定してエミュレータを使用するをご覧ください。

Settings > Advanced
  • OpenGL ES renderer: グラフィック アクセラレーション タイプを選択します (これは -gpu コマンドライン オプションと同じです)。
    • Autodetect based on host: エミュレータがハードウェアかソフトウェアのどちらのグラフィック アクセラレーションを使用するか、コンピュータのセットアップに基づいて選択されます。既知の障害がある GPU ドライバのリストにご使用の GPU ドライバがあるかを確認し、ある場合、エミュレータはグラフィック ハードウェア エミュレーションを無効にして、代わりに CPU を使用します。
    • ANGLE:(Windows のみ)ANGLE Direct3D を使用して、ソフトウェアでグラフィックをレンダリングします。
    • SwiftShader: SwiftShader を使用して、ソフトウェアでグラフィックをレンダリングします。
    • Desktop native OpenGL: ホスト コンピュータの GPU を使用します。通常、このオプションは最速のパフォーマンスを提供します。ただし、一部のドライバには OpenGL グラフィックのレンダリングに問題があるため、信頼できるオプションではない場合があります。
  • OpenGL ES API level: エミュレータで使用する OpenGL ES の最大バージョンを選択します。
    • Autoselect: ホストおよびゲストのサポートに基づいて、エミュレータが使用する OpenGL ES のバージョンが選択されます。
    • Renderer maximum (up to OpenGL ES 3.1): OpenGL ES の最大バージョンの使用を試みます。
    • Compatibility (OpenGL ES 1.1/2.0): ほとんどの環境と互換性のあるバージョンの OpenGL ES を使用します。
Help > Keyboard Shortcuts

このペインには、エミュレータのキーボード ショートカットの一覧が表示されます。エミュレータでの操作中にこのペインを開くには、F1(Mac では Command+/)キーを押します。

ショートカットを有効にするには、[General] 設定ペインの [Send keyboard shortcuts] オプションを [Emulator controls (default)] に設定する必要があります。

Help > Emulator Help

エミュレータのオンライン ドキュメントを参照するには、[Documentation] をクリックします。

エミュレータのバグを報告するには、[Send feedback] をクリックします。 詳細については、エミュレータのバグを報告する方法をご覧ください。

Help > About

エミュレータで使用している adb ポートと、Android Emulator のバージョン番号を確認できます。使用中のエミュレータのバージョンと最新バージョンを比較して、最新のソフトウェアをインストールしているか確認してください。

エミュレータのシリアル番号は emulator-adb_port です。これは、adb コマンドラインのオプションとして指定できます。

アプリを起動せずにエミュレータを起動する

アプリを実行せずにエミュレータを起動したい場合があります。たとえば、2 台のエミュレータ デバイスを Bluetooth でペア設定して、それらの相互作用のみを確認したい場合などです。アプリを起動せずにエミュレータを起動する手順は次のとおりです。

  1. デバイス マネージャーを開きます
  2. AVD をダブルクリックするか、実行アイコン をクリックします。Android Emulator が読み込まれます。

エミュレータの実行中に、Android Studio プロジェクトを実行して、エミュレータを対象デバイスとして選択できます。1 つ以上の APK をエミュレータにドラッグすることで、複数の APK を同時にインストールし、実行することもできます。

ファイルのインストールと追加

Google Play ストアで入手できないアプリをエミュレータで使用したい場合は、APK ファイルを手動でインストールできます。エミュレートするデバイスに APK ファイルをインストールするには、APK ファイルをエミュレータ画面にドラッグします。ファイルをドラッグすると、APK インストーラ ダイアログが表示されます。インストールが完了すると、アプリリストにアプリが表示されます。

エミュレートしているデバイスにファイルを追加するには、ファイルをエミュレータ画面にドラッグします。 ファイルは /sdcard/Download/ ディレクトリに配置されます。追加したファイルは、Device File Explorer を使用して Android Studio から表示できます。また、デバイスのバージョンによっては、ダウンロードまたはファイルアプリを使用してデバイスからファイルを見つけることができます。

スナップショット

スナップショットは、AVD(Android Virtual Device)の保存されたイメージであり、OS 設定、アプリケーションの状態、ユーザーデータなど、デバイスが保存された時点の全体的な状態を保持します。特定の時点を選択してスナップショットを読み込むことで、保存されたシステム状態に戻ることが可能であるため、仮想デバイス上のオペレーティング システムとアプリケーションの再起動を待つ時間を削減でき、テストを再開したい特定の状態にアプリを戻す手間が省けます。スナップショットを読み込んで仮想デバイスを起動するのは、物理デバイスを電源オフの状態から起動するのではなく、スリープ状態から起動する場合に似ています。

AVD ごとに、1 つのクイックブート スナップショットを作成でき、一般的なスナップショットは無制限に作成できます。

スナップショットを利用する最も簡単な方法は、クイックブート スナップショットを使用することです。デフォルトでは、各 AVD は終了時にクイックブート スナップショットを自動的に保存し、起動時にクイックブート スナップショットから読み込みが行われるように設定されます。

AVD を初めて起動するときは、コールドブートを行う必要があります(デバイスの電源を入れるのと同じです)。クイックブートが有効になっている場合、初回以降の起動時にはすべて指定のスナップショットから読み込みが行われ、システムはそのスナップショットに保存された状態に復元されます。

スナップショットは、そのスナップショットを保存したときのシステム イメージ、AVD 設定、エミュレータ機能に対して有効です。これらの領域のいずれかを変更すると、影響を受ける AVD のすべてのスナップショットが無効になります。Android Emulator、システム イメージ、または AVD 設定を更新すると、AVD の保存済み状態がリセットされるため、次回 AVD を起動するときはコールドブートを行う必要があります。

スナップショットの保存、読み込み、管理のコントロールのほとんどは、[Snapshots] ペインの [Snapshots] タブと [Settings] タブにあります。Android Studio のツール ウィンドウでエミュレータを実行している場合は、エミュレータ ツールバーに [Snapshots] ペインボタンが表示されます。Android Studio の外部で、スタンドアロン ウィンドウでエミュレータを実行している場合は、[Extended controls] ウィンドウに [Snapshots] ペインが表示されます。

コマンドラインからエミュレータを起動するときにも、クイックブート オプションを操作できます。

クイックブート スナップショットを保存する

AVD を閉じるときには、エミュレータでスナップショットが自動的に保存されるかどうかを指定できます。この動作を制御するには、次の手順で処理します。

  1. スナップショットの設定を開きます。Android Studio にエミュレータが埋め込まれている場合は、ツールバーの [Snapshots] をクリックします。エミュレータが別のウィンドウに表示されている場合は、[Extended controls] ウィンドウを開きます。
  2. コントロールの [Snapshots] カテゴリで、[Settings] タブに移動します。
  3. [Auto-save current state to Quickboot] プルダウン メニューから、次のいずれかのオプションを選択します。

    • Yes: エミュレータを閉じるときは常に AVD スナップショットを保存しますこれがデフォルトです。

    • No: エミュレータを閉じるときに AVD スナップショットを保存しません。

選択した内容は、現在開いている AVD にのみ適用されます。ADB がオフラインのとき(AVD の起動中など)にスナップショットを保存することはできません。

一般的なスナップショットを保存する

クイックブート スナップショットは AVD ごとに 1 つしか保存できないのに対して、一般的なスナップショットは AVD ごとに複数保存できます。

一般的なスナップショットを保存するには、[Snapshots] ペインを開き、ウィンドウの右下隅にある [Take snapshot] ボタンをクリックします。

選択したスナップショットの名前と説明を編集するには、ウィンドウの下部にある編集アイコン をクリックします。

スナップショットを削除する

スナップショットを手動で削除するには、[Snapshots] ペインを開き、スナップショットを選択して、ウィンドウの下部にある削除アイコン をクリックします。

また、AVD 設定やエミュレータのバージョンが変更されたときなどに、無効になったスナップショットを自動的に削除するかどうかも指定できます。デフォルトでは、エミュレータは無効なスナップショットを削除するかどうかを確認します。この設定は、[Snapshots] ペインにある [Settings] タブの [Delete invalid snapshots] メニューで変更できます。

スナップショットを読み込む

必要なときにスナップショットを読み込むには、エミュレータの [Snapshots] ペインを開き、[Snapshots] カテゴリを選択し、スナップショットを選択して、ウィンドウの下部にある読み込みアイコン をクリックします。

Android Studio 3.2 以降では、デバイス設定ごとに、[Virtual Device Configuration] ダイアログの詳細設定に [Boot option] コントロールが表示されます。これにより、AVD の起動時に読み込む AVD スナップショットを指定できます。

クイックブートを無効にする

AVD が常にコールドブートを実行するようにクイックブートを無効にする手順は次のとおりです。

  1. [Tools] > [Device Manager] を選択し、AVD 編集アイコン をクリックします。
  2. [Show Advanced Settings] をクリックし、[Emulated Performance] までスクロールします。
  3. [Cold boot] を選択します。

一度だけのコールドブート

クイックブートを完全に無効にする代わりに、[Device Manager] の AVD プルダウン メニューから [Cold Boot Now] をクリックすることで、コールドブートを一度だけ実行できます。

スナップショットの要件とトラブルシューティング

  • スナップショットは、Android 4.0.4(API レベル 15)以前では機能しません。
  • スナップショットは、Android 8.0(API レベル 26)の ARM システム イメージでは機能しません。
  • エミュレータがスナップショットからの起動に失敗した場合は、デバイス マネージャで AVD の [Cold Boot Now] を選択し、バグレポートを送信します。
  • ソフトウェア レンダリングが有効になっている場合、スナップショットの信頼性は低下します。スナップショットが機能しない場合は、デバイス マネージャAVD 編集アイコン をクリックし、[Graphics] を [Hardware] または [Automatic] に変更します。
  • スナップショットの読み込みまたは保存は、メモリを集中的に使用する操作です。読み込みまたは保存操作の開始時に十分な RAM を確保できない場合、オペレーティング システムは RAM の内容をハードディスクにスワップすることがあり、操作が大幅に遅くなる可能性があります。スナップショットの読み込みや保存が非常に遅い場合は、RAM を解放するとこうした操作を高速化できることがあります。作業上重要でないアプリケーションを閉じると、簡単に RAM を解放できます。

Wi-Fi

API レベル 25 以上の AVD を使用する場合、エミュレータで Wi-Fi アクセス ポイント(「AndroidWifi」)をシミュレートでき、Android はこれに自動的に接続されます。

コマンドライン パラメータ -feature -Wifi を使用してエミュレータを実行すると、エミュレータで Wi-Fi を無効にできます。

制限事項

Android Emulator には、次の仮想ハードウェアは含まれません。

  • Bluetooth
  • NFC
  • SD カードの挿入、取り出し
  • デバイスに装着されたヘッドフォン
  • USB

Wear OS のスマートウォッチ エミュレータには、[Overview (Recent Apps)] ボタン、十字キー、指紋認証センサーはありません。