Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Android Emulator 上でアプリを実行する

Android Emulator は Android デバイスをコンピュータ上でシミュレートします。複数のデバイスを用意しなくても、さまざまなデバイスと Android API レベルでアプリケーションをテストできます。

エミュレータでは、実際の Android デバイスのほぼすべての機能を利用できます。電話の着信やテキスト メッセージのシミュレーション、デバイスの場所の指定、さまざまなネットワーク速度のシミュレーション、回転などのハードウェア センサーのシミュレーション、Google Play ストアへのアクセスなどを行うことができます。

エミュレータでは、いくつかの点で物理デバイスよりも高速かつ簡単にアプリのテストを行えます。たとえば、USB で接続されたデバイスにデータを転送するよりも、エミュレータにデータを転送する方が高速に行えます。

エミュレータには、さまざまな Android スマートフォン、タブレット、Wear OS、Android TV デバイス向けに事前定義された設定が用意されています。

エミュレータ機能の概要については、次の動画をご覧ください。

エミュレータは、グラフィック ユーザー インターフェースから手動で操作することも、コマンドラインとエミュレータ コンソールからプログラムで操作することもできます。各インターフェースで利用できる機能の比較については、Android Emulator のツールの比較をご覧ください。

要件と推奨事項

Android Emulator では、基本的な Android Studio のシステム要件に加えて、以下の要件も満たす必要があります。

  • SDK Tools 26.1.1 以降
  • 64 ビット プロセッサ
  • Windows: UG(無制限ゲスト)をサポートする CPU
  • HAXM 6.2.1 以降(HAXM 7.2.0 以降を推奨)

ハードウェア アクセラレーションを Windows および Linux で使用する場合、以下の要件も満たす必要があります。

  • Windows または Linux 上の Intel プロセッサ: Intel VT-x、Intel EM64T(Intel 64)、Execute Disable(XD)ビット機能をサポートする Intel プロセッサ
  • Linux 上の AMD プロセッサ: AMD Virtualization(AMD-V)およびストリーミング SIMD 拡張命令 3 補足命令(SSSE3)をサポートする AMD プロセッサ
  • Windows 上の AMD プロセッサ: Android Studio 3.2 以降および Windows 10 April 2018 リリース以降(Windows Hypervisor Platform(WHPX)機能に必要)

Android 8.1(API レベル 27)以降のシステム イメージを使用するには、720p フレームをキャプチャできるウェブカメラが接続されている必要があります。

32 ビット Windows システムのサポート終了

2019 年 6 月から、Android Emulator は 32 ビット Windows システムのサポートを終了します。32 ビット Windows 用エミュレータのサポートは、重大なバグ修正を含めて 2020 年 6 月まで継続しますが、新機能の追加は行われません。32 ビット Windows システムでエミュレータを使用している場合は、64 ビット Windows システムへの移行を計画する必要があります。

32 ビット Windows システムでエミュレータを使用している場合、SDK Manager を使用して、32 ビット Windows 用のエミュレータの最新バージョンをインストールできます。

エミュレータをインストールする

Android Emulator をインストールするには、SDK Manager の [SDK Tools] タブで [Android Emulator] コンポーネントを選択します。手順については、SDK Manager でのツールの更新をご覧ください。

Android Virtual Device

Android Emulator の各インスタンスは、Android Virtual Device(AVD)を使用して、シミュレートするデバイスの Android バージョンとハードウェア特性を指定します。アプリを効果的にテストするには、アプリを設計する際に対象とした各デバイスをモデル化する AVD を作成する必要があります。AVD の作成や管理には、AVD Manager を使用します。

各 AVD 機能は、ユーザーデータや SD カードなどの固有のプライベート ストレージを持つ、独立したデバイスとして機能します。デフォルトでは、エミュレータはユーザーデータ、SD カードデータ、キャッシュをその AVD 固有のディレクトリに保存します。エミュレータを起動すると、ユーザーデータと SD カードデータが AVD ディレクトリから読み込まれます。

Android Emulator でアプリを実行する

Android Studio プロジェクトからアプリを実行することも、デバイスでアプリを実行する場合と同様に Android Emulator にインストールされているアプリを実行することもできます。

エミュレータを起動し、プロジェクトでアプリを実行する手順は次のとおりです。

  1. Android Studio で、エミュレータがアプリのインストールと実行に使用できる Android Virtual Device(AVD)を作成します。
  2. ツールバーで、ターゲット デバイスのプルダウン メニューからアプリを実行する AVD を選択します。

    ターゲット デバイスのプルダウン メニュー。

  3. Run アイコン をクリックします。

    ダイアログの上部にエラーや警告メッセージが表示されたら、リンクをクリックして問題の修正や詳細情報の確認を行います。

    Hardware Accelerated Execution Manager(Intel HAXM)のエラーなどが発生した場合は、先に進む前に修正する必要があります。

    macOS の場合、エミュレータの起動時に「Warning: No DNS servers found」というエラーが表示される場合は、/etc/resolv.conf ファイルがあるかどうかを確認してください。このファイルがない場合は、ターミナル ウィンドウで次のコマンドを入力します。

        ln -s /private/var/run/resolv.conf /etc/resolv.conf
        

最初にアプリを実行せずに Android Emulator を起動する

エミュレータを起動する手順は次のとおりです。

  1. AVD Manager を開きます
  2. AVD をダブルクリック、または Run アイコン をクリックします。
  3. Android Emulator が表示されます。

エミュレータの実行中に、Android Studio プロジェクトを実行して、エミュレータをターゲット デバイスとして選択できます。1 つ以上の APK をエミュレータにドラッグすることで、複数の 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 を起動するときにはコールドブートを行う必要があります。

スナップショットの保存、読み込み、管理の操作はほとんど、エミュレータの [Extended controls] ウィンドウの [Snapshots] ペインで行えます。

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

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

エミュレータが現在開いている AVD のスナップショットを終了時に自動的に保存するかどうかを制御するには、エミュレータの [Extended controls] ウィンドウにある [Snapshots] カテゴリから、[Settings] タブにある [Save quick-boot state on ext] メニューを使用します。

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

選択した内容は、現在開いている AVD にのみ適用されます。

[Save quick-boot state on exit] メニューで [Yes] を選択しない(終了時にスナップショットを自動的に保存しない)場合でも、このメニューの下にある [Save Now] ボタンを使用すると、いつでもクイックブート スナップショットを保存できます。

ADB がオフラインのとき(Android の起動中など)にスナップショットを保存することはできません。

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

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

一般的なスナップショットを保存するには、エミュレータの [Extended controls] ウィンドウを開き、[Snapshots] カテゴリを選択して、ウィンドウの右下隅にある [Take snapshot] ボタンをクリックします。

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

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

スナップショットを手動で削除するには、エミュレータの [Extended controls] ウィンドウを開き、[Snapshots] カテゴリを選択し、スナップショットを選択して、ウィンドウの下部にある削除アイコン をクリックします。

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

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

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

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

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

AVD が常にコールドブートを実行するようにクイックブートを無効にする場合は、次の手順を行います。

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

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

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

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

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

コンピュータのマウスポインタを使って、メニュー項目の選択、フィールドの入力、ボタンやコントロールのクリックなど、指でのタッチスクリーン操作を再現できます。コンピュータのキーボードを使用して、文字やエミュレータ用のショートカットを入力することもできます。

表 1. エミュレータ画面を操作するためのジェスチャー

機能 説明
画面のスワイプ 画面上にマウスを移動して、マウスの左ボタンを押した状態で画面上をスワイプしてボタンを離します。
アイテムのドラッグ 画面上のアイテムにマウスを移動して、マウスの左ボタンを押した状態でアイテムを移動してボタンを離します。
タップ
(タッチ)
画面上にマウスを移動して、マウスの左ボタンを押してから離します。これにより、テキスト フィールドをクリックして入力を開始する、アプリを選択する、ボタンを押すなどの操作が可能です。
ダブルタップ 画面上にマウスを移動して、マウスの左ボタンをすばやく 2 回押してから離します。
長押し 画面上のアイテムにマウスを移動して、しばらくマウスの左ボタンを押してからボタンを離します。これにより、アイテムのオプションを開くなどの操作が可能です。
入力 コンピュータのキーボードや、エミュレータの画面に表示されるキーボードを使ってエミュレータに入力できます。これにより、テキスト フィールドを選択した後に入力できます。
ピンチインとピンチアウト
Ctrl(Mac では Command)キーを押すと、ピンチ ジェスチャー マルチタッチ インターフェースが起動します。マウスが一本目の指、アンカー ポイントの反対側がもう一本目の指として動作します。カーソルをドラッグして始点を動かします。
マウスの左ボタンをクリックすると 2 つのポイントをタッチしている状態になり、ボタンを離すと両方のポイントを離します。
上下のスワイプ 画面の垂直方向のメニューを開いているときに、スクロール ホイール(マウスホイール)を使用して、目的のメニュー項目が表示されるまでメニュー項目をスクロールします。メニュー項目をクリックして選択します。

エミュレータで一般的なアクションを行う

エミュレータで一般的なアクションを行うには、表 2 で説明されているように右側のパネルを使用します。

キーボード ショートカットを使用することで、エミュレータでさまざまな種類の一般的なアクションを行えます。エミュレータのショートカットを一覧表示するには、F1(Mac の場合は Command+/)キーを押して、[Extended controls] ウィンドウのヘルプペインを開きます。

表 2. エミュレータでの一般的なアクション

機能 説明
閉じる
閉じるアイコン
エミュレータを終了します。
最小化
最小化アイコン
エミュレータ ウィンドウを最小化します。
サイズ変更 オペレーティング システムのウィンドウと同様に、エミュレータのサイズを変更します。エミュレータはデバイスに適したアスペクト比を保持します。
電源
電源アイコン
クリックして画面をオンまたはオフにします。
長押ししてデバイスのオン / オフを切り替えます。
音量を上げる
音量アップアイコン
クリックするとスライダー コントロールが表示され、音量を上げることができます。再度クリックするとさらに音量が上がり、スライダー コントロールで音量を調整できます。
音量を下げる
音量ダウンアイコン
クリックするとスライダー コントロールが表示され、音量を下げることができます。再度クリックするとさらに音量が下がり、スライダー コントロールで音量を調整できます。
左に回転
左回転アイコン
デバイスを反時計回りに 90 度回転させます。
右に回転
右回転アイコン
デバイスを時計回りに 90 度回転させます。
スクリーンショットを撮る
スクリーンショット撮影アイコン
クリックするとデバイスのスクリーンショットを撮影できます。詳細については、スクリーンショットをご覧ください。
ズームモードに移行
ズームモード移行アイコン

クリックすると、カーソルがズームアイコンに変化します。ズームモードを終了するには、もう一度ボタンをクリックします。

ズームモードでのズームインとズームアウト:

  • 画面を左クリックすると 25% ずつズームインし、最大で仮想デバイスの約 2 倍の画面解像度まで拡大できます。
  • 右クリックでズームアウトします。
  • 左クリックでズームインしたい四角形の領域を選択し、ズームインします。
  • 右クリックして選択ボックスをドラッグするとデフォルトのズームに戻ります。

ズームモードで画面移動するには、Ctrl(Mac では Command)キーを押しながら、キーボードの矢印キーを押します。

ズームモードでデバイス画面をタップするには、Ctrl キーを押しながらクリックします(Mac では Command キーを押しながらクリックします)。

戻る
戻るアイコン
前画面に戻る、またはダイアログ ボックス、オプション メニュー、通知パネル、オンスクリーンのキーボードを閉じます。
ホーム
ホームアイコン
ホーム画面に戻ります。
概要
最近アイコン
(最近使用したアプリ)
タップすると最近使用したアプリのサムネイル画像の一覧が表示されます。アプリを開くには、そのサムネイルをタップします。リストからサムネイルを削除するには、左か右にスワイプします。このボタンは Wear OS ではサポートされていません。
折りたたむ
折りたたみアイコン
折りたたみ式デバイスの場合は、デバイスを折りたたんで、小さい画面構成を表示します。
開く
開くアイコン
折りたたみ式デバイスの場合は、デバイスを開いて、大きい画面構成を表示します。
メニュー Ctrl+M(Mac では Command+M)キーを押して、メニューボタンをシミュレートします。
その他
その他アイコン
クリックすると、下の表に示すその他の機能や設定を利用できます。

画面の録画

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

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

ヒント: 画面録画コントロールは、Ctrl+Shift+R(Mac では Command+Shift+R)キーを押しても開けます。

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

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

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

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

スクリーンショット

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

キャプチャした年、月、日、時間、分、秒を示す Screenshot_yyyymmdd-hhmmss.png という名前の PNG ファイルが作成されます(例: Screenshot_20160219-145848.png)。

デフォルトでは、スクリーンショットはコンピュータのデスクトップに保存されます。スクリーンショットの保存場所を変更するには、エミュレータの [Extended controls] ウィンドウの [Settings] カテゴリにある [Screenshot save location] コントロールを使用します。

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

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

仮想シーンカメラと 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] をクリックするとマクロを中断できます。

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

拡張コントロールでは、データの送信、デバイス プロパティの変更、アプリのコントロールなどが行えます。[Extended controls] ウィンドウを開くには、エミュレータ パネルでその他アイコン をクリックします。

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

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

機能 説明
Location

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

GPS 位置情報の送信手順は次のとおりです。

  1. [Decimal] か [Sexagesimal] を選択します。
  2. 位置を指定します。
  3. Decimal モードの場合、[Latitude] には -90.0~+90.0 度の値を、[Longitude] には -180.0~+180.0 度の値を入力します。

    Sexigesimal モードの場合は入力項目が 3 つあり、[Latitude] には -90~+90 度、0~59 分、0.0~60.0 秒の範囲の値をそれぞれ入力します。[Longitude] には -180~+180 度、0~59 分、0.0~60.0 秒の範囲の値を入力します。

    緯度ではマイナスが南でプラスが北を表し、経度ではマイナスが西でプラスが東を表します。+ は省略可能です。

    [Altitude] には任意で -1,000.0~+10,000.0 メートルの値を指定できます。

  4. [Send] をクリックします。

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

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

  5. Run アイコン をクリックします。
Cellular

エミュレータでは、さまざまなネットワークの状態をシミュレートできます。さまざまなネットワーク プロトコルのネットワーク速度に近づけたり、[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 (emergency calls only)
  • Unregistered (off)
Battery

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

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

  • None
  • AC charger

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

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

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

  • Unknown
  • Charging(デフォルト)
  • Discharging
  • Not charging
  • Full
Phone

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

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

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

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

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

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

十字キーのコントロール
Fingerprint

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

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

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

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

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

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

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

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

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

ヨー、ピッチ、ロールの計算方法の詳細は、デバイスの向きの計算をご覧ください。

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

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

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

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

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

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

AccelerometerPlay アプリをインポートして、Accelerometer コントロールを試すことができます。[File] > [New] > [Import Sample] を選択し、ダイアログでアプリを選択します。このアプリは、このページのエミュレータの動画で紹介されています。

Virtual sensors > Additional sensors

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

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

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

Snapshots スナップショットをご覧ください。
Screen record 画面の録画をご覧ください。
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 コマンドラインでのオプション指定などに使用できます。

Wi-Fi

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

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

制限事項

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

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

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