このドキュメントの内容
- AVD の概要
- AVD の表示と管理
- AVD の作成
- ハードウェア プロファイルの作成
- 既存の AVD の操作
- 既存のハードウェア プロファイルの操作
- エミュレータの実行と停止、データのクリア
- ハードウェア プロファイルのインポートとエクスポート
- ハードウェア プロファイルのプロパティ
- AVD プロパティ
- エミュレータ スキンの作成
依存関係と前提条件
- Android Studio 2.0 以降
- SDK ツール 25.0.10 以降
- [Tools] > [Android] > [Enable ADB Integration] で adb インテグレーションを有効化済み
Android Virtual Device (AVD) では、Android スマートフォンやタブレット、Android Wear、Android TV など、Android Emulator でシミュレートしたい端末の特徴を定義することができます。AVD の作成や管理をするには、便利な AVD Manager を使用します。
アプリのテスト効率を上げるには、サポートする予定のあらゆる端末タイプに合わせて AVD を作成する必要があります。例として minSdkVersion で指定した API レベル以上の各レベルに対して AVD を作成することをお勧めします。アプリに必要な API レベルよりも高い API レベルでテストを実施することで、ユーザーがシステム アップデートをした際にアプリで上位互換性が保たれるかを確認することができます。
AVD の概要
AVD にはハードウェア プロファイルやシステム イメージ、ストレージ領域、スキンなどのプロパティが含まれています。
ハードウェア プロファイルは工場出荷時の端末の特徴を定義します。AVD Manager には元々 Nexus スマートフォンのハードウェア プロファイルがプリロードされていますが、必要に応じてハードウェア プロファイルを定義したり、インポートしたりすることができます。また、いくつかの AVD 設定をオーバーライドすることも可能です。
AVD Manager は AVD 用のシステム イメージの選択時に、お勧めのものを提案します。また、アプリで利用する可能性のある Google API などのアドオン ライブラリも、システム イメージと一緒にダウンロードできます。なお、エミュレータでは x86 システム イメージが最速で動作します。
AVD は開発マシン上に専用のストレージ領域を確保します。その場所にインストールしたアプリや設定内容、エミュレートする SD カードなどの端末のユーザーデータが保存されます。
エミュレータのスキンは端末の外観を決めるものです。AVD Manager には、あらかじめスキンがいくつか用意されています。また、自身で定義したスキンやサードパーティから提供されたスキンを使用することもできます。
実機と同じように、カメラのような AVD の機能を使用するアプリでは、マニフェスト ファイルで該当する <uses-feature> 設定を行う必要があります。
AVD の表示と管理
AVD Manager では AVD を一元管理できます。
AVD Manager の実行方法:
- Android Studio で、[Tools] > [Android] > [AVD Manager] を選択します。
- ツールバーから [AVD Manager]
をクリックします。
以下の AVD Manager が表示されます。
この画面には作成済みの AVD がすべて表示されます。Android Studio の初回インストール時には、AVD が 1 つ作成されます。Android Emulator 24.0.x 以前向けに AVD を作成している場合は、それらを作り直す必要があります。
このページからできること:
- AVD やハードウェア プロファイルの新規作成。
- 既存の AVD やハードウェア プロファイルの編集。
- AVD やハードウェア プロファイルの削除。
- ハードウェア プロファイル定義のインポートやエクスポート。
- AVD の実行とエミュレータの立ち上げ。
- エミュレータの停止。
- データをクリアして最初にエミュレータを実行した状態から再実行。
- ディスク上に存在する関連のある AVD の
iniファイルとimgファイルの表示。 - Android Studio チームへのバグ報告に含めることのできる AVD 設定の詳細の表示。
AVD の作成
AVD を一から作成するか、AVD を複製して一部のプロパティを変更することができます。
AVD の新規作成方法:
- AVD Manager の [Your Virtual Devices] ページから [Create Virtual Device] をクリックします。
- ハードウェア プロファイルを選択して [Next] をクリックします。
- 任意の API レベル用のシステム イメージを選択して [Next] をクリックします。
- 必要に応じて AVD プロパティを変更して [Finish] をクリックします。
スキンなどの詳細設定を確認するには、[Show Advanced Settings] をクリックします。
または Android Studio からアプリを実行します。[Select Deployment Target] ダイアログで [Create New Emulator] をクリックします。
以下の [Select Hardware] ページが表示されます。
使用したいハードウェア プロファイルがない場合は、ハードウェア プロファイルを作成するかインポートすることができます。
以下の [System Image] ページが表示されます。
[Recommended] タブには推奨されるシステム イメージが一覧表示されます。他のタブには、より包括的なリストが表示されます。右のパネルには、選択したシステムイメージが表示されます。 x86 イメージがエミュレータ上で最速であることが記載されています。
システム イメージの隣に [Download] と表示されている場合は、クリックしてシステム イメージをダウンロードしてください。ダウンロードする際はインターネットに接続する必要があります。
ターゲット端末の API レベルは重要です。アプリに必要な API レベル(アプリのマニフェスト ファイルの minSdkVersion 属性で指定したレベル)よりも低い API レベルのシステム イメージではアプリを実行することができません。システムの API レベルと minSdkVersion の詳細な関係については、アプリのバージョニングをご確認ください。
アプリのマニフェスト ファイルで <uses-library> 要素を宣言している場合は、その外部ライブラリを含むシステム イメージが必要になります。エミュレータ上でアプリを実行するには、必要なライブラリを含む AVD を作成してください。そのためには、Google マップのライブラリを含む Google API のアドオンなど、AVD プラットフォーム用のアドオン コンポーネントを使用しなければならない場合があります。
[Verify Configuration] ページが表示されます。
[Your Virtual Devices] ページに新しい AVD か [Select Deployment Target] ダイアログが表示されます。
コピーして AVD を作成する方法:
- AVD Manager の [Your Virtual Devices] ページで AVD を右クリックし、[Duplicate] を選択します。
- [System Image] ページと [Select Hardware] ページで変更が必要な場合は、 [Change] か [Previous] をクリックします。
- 変更を終えたら [Finish] をクリックします。
または [Menu]
をクリックして、[Duplicate] を選択します。
[Verify Configuration] ページが表示されます。
[Your Virtual Devices] ページに AVD が表示されます。
ハードウェア プロファイルの作成
AVD Manager には一般的な端末のハードウェア プロファイルがあらかじめ定義されており、それらを簡単に自身の AVD 定義に追加することができます。一方、別の端末を定義したい場合は、ハードウェア プロファイルを新規に作成できます。一から新しいハードウェア プロファイルを作成することも、コピーしたハードウェア プロファイルをベースに作成することも可能です。なお、プリロード済みのハードウェア プロファイルは編集できません。
ハードウェア プロファイルを一から作成する方法:
- [Select Hardware] ページで [New Hardware Profile] をクリックします。
- [Configure Hardware Profile] ページで、必要に応じてハードウェア プロファイルのプロパティを変更します。
- [Finish] をクリックします。
新しいハードウェア プロファイルが [Select Hardware] ページに表示されます。[Next] をクリックすると、任意でそのハードウェア プロファイルを使用した AVD を作成できます。または、[Cancel] をクリックして、[Your Virtual Devices] ページや [Select Deployment Target] ダイアログに戻ることもできます。
コピーしたハードウェア プロファイルをベースに作成する方法:
- [Select Hardware] ページでハードウェア プロファイルを選択して [Clone Device] をクリックします。
- [Configure Hardware Profile] ページで、必要に応じてハードウェア プロファイルのプロパティを変更します。
- [Finish] をクリックします。
またはハードウェア プロファイルを右クリックして、[Clone] を選択します。
新しいハードウェア プロファイルが [Select Hardware] ページに表示されます。[Next] をクリックすると、任意でそのハードウェア プロファイルを使用した AVD を作成できます。または、[Cancel] をクリックして、[Your Virtual Devices] ページや [Select Deployment Target] ダイアログに戻ることもできます。
既存の AVD の操作
[Your Virtual Devices] ページから、既存の AVD に対して以下の操作を行うことができます。
- AVD の編集。[Edit]
をクリックして変更を加えます。 - AVD の削除。AVD を右クリックして [Delete] を選択するか、[Menu]
をクリックして [Delete] を選択します。 - ディスク上に存在する関連のある AVD の
iniファイルとimgファイルの表示。AVD を右クリックして [Show on Disk] を選択するか、[Menu]
をクリックして [Show on Disk] を選択します。 - Android Studio チームへのバグ報告に含めることのできる AVD 設定の詳細の表示。AVD を右クリックして [View Details] を選択するか、[Menu]
をクリックして、[View Details] を選択します。
既存のハードウェア プロファイルの操作
[Select Hardware] ページから、既存のハードウェア プロファイルに対して以下の操作を行うことができます。
- ハードウェア プロファイルの編集。ハードウェア プロファイルを選択して [Edit Device] をクリックするか、ハードウェア プロファイルを右クリックして [Edit] を選択して、変更を加えます。
- ハードウェア プロファイルの削除。ハードウェア プロファイルを右クリックして [Delete] を選択します。
あらかじめ定義されたハードウェア プロファイルの編集や削除はできません。
エミュレータの実行と停止、データのクリア
[Your Virtual Devices] ページから、エミュレータ上で以下の操作を行うことができます。
- AVD を使用したエミュレータの実行。AVD をダブルクリックするか、[Run]
をクリックします。 - 実行中のエミュレータの停止。AVD を右クリックして [Stop] を選択するか、 [Menu]
をクリックして、[Stop] を選択します。 - データをクリアして最初にエミュレータを実行した状態に戻す。AVD を右クリックして [Wipe Data] を選択するか、[Menu]
をクリックして [Wipe Data] を選択します。
ハードウェア プロファイルのインポートとエクスポート
[Select Hardware] ページからハードウェア プロファイルのインポートとエクスポートができます。
- ハードウェア プロファイルをインポートするには、[Import Hardware Profiles] をクリックして、コンピュータ上にある定義を含む XML ファイルを選択します。
- ハードウェア プロファイルをエクスポートするには、ハードウェア プロファイルを右クリックして [Export] を選択し、定義を含む XML ファイルを保存する場所を指定します。
ハードウェア プロファイルのプロパティ
[Configure Hardware Profile] ページで、以下のハードウェア プロファイルのプロパティを指定できます。AVD 設定のプロパティはハードウェア プロファイルのプロパティをオーバーライドします。この両方のプロパティをオーバーライドするのがエミュレータの実行中に設定したエミュレータ プロパティです。
AVD Manager に含まれるあらかじめ定義されたハードウェア プロファイルは編集できません。ただし、それらをコピーしたものを編集することはできます。
| ハードウェア プロファイルのプロパティ | 説明 |
|---|---|
| 端末名 | ハードウェア プロファイルの名称。使用できるのは大文字と小文字の英字、0 から 9 までの数字、ピリオド(.)、アンダースコア(_)、丸括弧(())です。このハードウェア プロファイル名が、ハードウェア プロファイルを保存するファイル名になります。 |
| 端末種別 | 次のいずれかを選択します。
|
| 画面サイズ | 対角線で計測した画面の物理サイズ(インチ表記)です。このサイズがコンピュータの画面よりも大きい場合は、起動時にサイズを縮小します。 |
| 画面解像度 | ピクセル単位で幅と高さを入力して、シミュレートした画面上での総ピクセル数を指定します。 |
| 円形 | Android Wear 端末のように丸い画面がある端末は、このオプションを選択します。 |
| メモリ: RAM | 端末の RAM サイズを入力して、B(バイト)、KB(キロバイト)、MB (メガバイト)、GB(ギガバイト)、TB(テラバイト)の中から単位を選択します。 |
| 入力: ハードウェアボタン(戻る / ホーム / メニュー) | 端末にハードウェア ナビゲーション ボタンがある場合は、このオプションを選択します。ソフトウェアのみでこれらのボタンが実装されている場合は、選択を解除します。このオプションを選択すると画面上にボタンが表示されなくなりますが、いずれにしてもエミュレータのサイドパネルを使えばボタンを押すことができます。 |
| 入力: ハードウェア キーボード | 端末にハードウェア キーボードがある場合はこのオプションを選択し、ない場合は選択を解除します。このオプションを選択すると画面上にキーボードが表示されなくなりますが、いずれにしてもコンピュータのキーボードを使えばキー入力をエミュレータに送信できます。 |
| ナビゲーション スタイル | 次のいずれかを選択します。
これらのオプションは実機本体のハードウェア コントロール用です。ただし外部コントローラによって端末に送信されるイベントは同じです。 |
| サポートする端末状態 | 以下のどちらか、または両方を選択します。
両方を選択すると、エミュレータ上で端末の向きを切り替えることができます。続けるには少なくとも一方を選択する必要があります。 |
| カメラ | 以下のどちらか、または両方を選択します。
カメラ撮影をシミュレートするために、エミュレータで提供されているウェブカメラや写真を利用できます。 |
| センサー: 加速度計 | 端末の向きを特定するためのハードウェアが備わっている場合は、選択します。 |
| センサー: ジャイロスコープ | 回転や傾きを検出するハードウェアが端末に備わっている場合は、選択します。加速度計と併用すると方向検出がスムーズになり、6 軸方向システムをサポートできます。 |
| センサー: GPS | グローバル ポジショニング システム(GPS)の衛星測位システムをサポートするハードウェアが端末に備わっている場合は、選択します。 |
| センサー: 近接センサー | 通話中に端末が顔に近づいたことを検出して画面入力を無効にするハードウェアが端末に備わっている場合は、選択します。 |
| デフォルトのスキン | エミュレータを表示した際に端末の外観を決めるスキンを選択します。解像度に対して極端に小さい画面を指定すると、画面が見切れることがあるので注意してください。詳細はエミュレータのスキン作成をご覧ください。 |
AVD プロパティ
[Verify Configuration] ページで以下の AVD 設定のプロパティを指定できます。AVD 設定では開発に使用するコンピュータとエミュレータとの相互作用や、ハードウェア プロファイルでオーバーライドしたいプロパティを指定できます。
AVD 設定のプロパティはハードウェア プロファイルのプロパティをオーバーライドします。この両方のプロパティをオーバーライドするのがエミュレータの実行中に設定したエミュレータ プロパティです。
| AVD プロパティ | 説明 |
|---|---|
| AVD 名 | AVD の名称です。使用できるのは大文字と小文字の英字、0 から 9 までの数字、ピリオド(.)、アンダースコア(_)、丸括弧(())です。この AVD 名が、AVD 設定を保存するファイル名になります。 |
| AVD ID(高度な設定) | この ID が AVD ファイル名になり、コマンドラインから AVD を参照するのに使用できます。 |
| ハードウェア プロファイル | [Change] を選択して、[Select Hardware] ページから異なるハードウェア プロファイルを選択します。 |
| システム イメージ | [Change] を選択して、[System Image] ページから異なるシステム イメージを選択します。新しいイメージをダウンロードするにはインターネット接続が必要です。 |
| 起動: スケール | エミュレータ起動時の初期サイズを選択します。このサイズがコンピュータの画面よりも大きい場合は、より小さいサイズに調整される場合があります。既定値は [Auto](自動)です。 |
| 起動: 画面の向き | エミュレータ画面の向きとして、どちらかを初期値に選択します。
このオプションはハードウェア プロファイルで選択している場合のみ、有効になります。ハードウェア プロファイルで縦向きと横向きをサポートしていれば、エミュレータで AVD を実行中に画面の向きを切り替えることができます。 |
| カメラ(高度な設定) | 以下のどちらか、または両方を選択します。
このオプションはハードウェア プロファイルで選択している場合のみ、有効になります。Android Wear と Android TV 向けには、このオプションは利用できません。 |
| ネットワーク: 速度(高度な設定) | データ転送速度を決定するネットワーク プロトコルを選択します。
|
| ネットワーク: 遅延(高度な設定) | 選択したネットワーク プロトコルで、ある地点からある地点へデータパケットを転送した際の遅延時間を設定します。 |
| エミュレーション パフォーマンス: グラフィック | エミュレータでのグラフィックのレンダリング方法を選択します。
|
| マルチコア CPU(高度な設定) | エミュレータで利用したいコンピュータ上のプロセッサコア数を選択します。この数が多いほどエミュレータの速度は上がります。 |
| メモリとストレージ: RAM | 端末の RAM 容量この値はハードウェア メーカーによって設定されますが、エミュレータ動作を高速化したい場合など、必要に応じてオーバーライドすることができます。このサイズを大きくするほど、コンピュータのリソースをより多く使用します。RAM サイズを入力して、B(バイト)、KB(キロバイト)、MB (メガバイト)、GB(ギガバイト)、TB(テラバイト)の中から単位を選択します。 |
| メモリとストレージ: VM ヒープ | VM ヒープサイズです。この値はハードウェア メーカーによって設定されますが、必要に応じてオーバーライドすることができます。ヒープサイズを入力して、B(バイト)、KB(キロバイト)、MB (メガバイト)、GB(ギガバイト)、TB(テラバイト)の中から単位を選択します。Android VM の詳細については、異なる仮想マシンでのメモリ管理をご覧ください。 |
| メモリとストレージ: 内部ストレージ | 端末で利用可能な取り外しができないメモリ領域の容量です。この値はハードウェア メーカーによって設定されますが、必要に応じてオーバーライドすることができます。サイズを入力して、B(バイト)、KB(キロバイト)、MB (メガバイト)、GB(ギガバイト)、TB(テラバイト)の中から単位を選択します。 |
| メモリとストレージ: SD カード | 端末データの保存に利用できる取り外し可能なメモリ領域の容量です。Android Studio で管理する仮想 SD カードを使用するには、[Studio]を選択してサイズを入力し、B(バイト)、KB(キロバイト)、MB (メガバイト)、GB(ギガバイト)、TB(テラバイト)の中から単位を選択します。カメラを使用する場合は 100 MB 以上に設定することをお勧めします。この領域をファイルで管理するには、[External File] を選択して [...] をクリックし、ファイルと場所を指定します。詳細については、mksdcard をご覧ください。 |
| 端末フレーム: 端末フレームを有効にする | エミュレータ ウィンドウの周りに表示されるフレームを有効にすると、実機の外観を再現できます。 |
| カスタムスキン設定(高度な設定) | エミュレータを表示した際に端末の外観を決めるスキンを選択します。解像度に対して極端に小さい画面を指定すると、画面が見切れることがあるので注意してください。詳細はエミュレータのスキン作成をご覧ください。 |
| キーボード: キーボード入力を有効にする(高度な設定) | エミュレータと相互作用するハードウェア キーボードを使用したい場合は、このオプションを選択します。Android Wear と Android TV 向けには、このオプションは無効になっています。 |
エミュレータ スキンの作成
Android エミュレータのスキンは、表示するエミュレータの外観やコントロールを定義した一式のファイルです。AVD 設定で利用可能なスキン定義の中に、自身の要件を満たすものがない場合は、自身でカスタムスキンの定義を作成して AVD に適用することができます。
各エミュレータ スキンには次の内容が含まれます。
hardware.iniファイル- サポートする画面の向き(横向き、縦向き)と物理的な設定に対応したレイアウト ファイル
- 背景やキー、ボタンなどの表示要素用のイメージ ファイル
カスタムスキンの作成方法:
- スキン設定ファイルを保存するディレクトリを新規に作成します。
layoutという名称のテキストファイルでスキンの外観を定義します。このファイルでは、特定のボタンのサイズやイメージ アセットなど、さまざまなスキンの特徴を定義できます。次に例を示します。parts { device { display { width 320 height 480 x 0 y 0 } } portrait { background { image background_port.png } buttons { power { image button_vertical.png x 1229 y 616 } } } ... }- 同じディレクトリに端末イメージ用のビットマップ ファイルを追加します。
hardware.iniファイルでhw.keyboardやhw.lcd.densityなど、ハードウェア固有の端末設定を追加で指定します。- スキンフォルダ内のファイルをアーカイブして、そのファイルをカスタムスキンとして選択します。
エミュレータ スキンの作成に関する詳細情報については、Android Emulator のスキンファイルを指定するツールのソースコードをご覧ください。