Android Device Manager による仮想デバイスの管理
この記事では、Android Device Manager を使って、Android の物理デバイスをエミュレートする Android 仮想デバイス (AVD) を作成し、構成する方法を説明します。 仮想デバイスを使うと、物理デバイスがなくてもアプリを実行してテストすることができます。
ハードウェアの高速化が有効になっていることを確認した後は (「エミュレーター パフォーマンスのためのハードウェア高速化」を参照)、Android Device Manager (Xamarin Android Device Manager ともいう) を使って、アプリのテストとデバッグで使用できる仮想デバイスを作成します。
Windows 上の Android Device Manager
この記事では、Android Device Manager を使って、Android 仮想デバイスを作成、複製、カスタマイズ、起動する方法について説明します。
Android Emulator で実行する Android 仮想デバイス (AVD) を作成および構成するには、Android Device Manager を使います。 各 AVD は、物理的な Android デバイスをシミュレートするエミュレーター構成です。 これにより、異なる物理 Android デバイスをシミュレートするさまざまな構成でアプリを実行してテストすることができます。
要件
Android Device Manager を使用するには、次の項目が必要です。
Visual Studio 2019 Community、Professional、または Enterprise。
または、Visual Studio 2017 バージョン 15.8 以降が必要です。 Visual Studio Community、Professional、Enterprise Edition がサポートされています。
Visual Studio Tools for Xamarin バージョン 4.9 以降。
Android SDK をインストールする必要があります (「Xamarin.Android 向け Android SDK を設定する」を参照)。 Android SDK がまだインストールされていない場合は、既定の場所 (C:\Program Files (x86)\Android\android-sdk) にインストールします。
(Android SDK Manager を使用して) 次のパッケージをインストールする必要があります。
- Android SDK Tools バージョン 26.1.1 以降
- Android SDK Platform-Tools 27.0.1 以降
- Android SDK Build Tools 27.0.3 以降
- Android Emulator 27.2.7 以降。
これらのパッケージの状態は、次のスクリーンショットのように[インストール済み] と表示される必要があります。
Device Manager の起動
[ツール] > [Android] > [Android デバイス マネージャー] の順にクリックし、[ツール] メニューから Android デバイス マネージャーを起動します。
起動時に次のエラー ダイアログが表示される場合は、「トラブルシューティング」セクションの回避策の説明をご覧ください。
メイン画面
Android Device Manager を初めて起動すると、現在構成されているすべての仮想デバイスが画面に表示されます。 仮想デバイスごとに名前、OS (Android バージョン)、プロセッサ、メモリ サイズ、および画面の解像度が表示されます。
一覧のデバイスを選択すると、右側に [Start]\(開始\) ボタンが表示されます。 [Start]\(開始\) ボタンをクリックして、この仮想デバイスのエミュレーターを起動できます。
選んだ仮想デバイスでエミュレーターが開始した後、[Start]\(開始\) ボタンは [Stop]\(停止\) ボタンに変わり、このボタンを使ってエミュレーターを停止できます。
新しいデバイス
新しいデバイスを作成するには、[New]\(新規\) ボタン (画面の右上にあります) をクリックします。
[New]\(新規\) をクリックすると、[New Device]\(新しいデバイス\) 画面が表示されます。
[New Device]\(新しいデバイス)画面で新しいデバイスを構成するには、次の手順を実行します。
デバイスの新しい名前を指定します。 次の例では、新しいデバイスに「Pixel_API_27」という名前を指定しています。
[Base Device]\(ベース デバイス\) プルダウン メニューをクリックして、エミュレートする物理デバイスを選びます。
[Processor]\(プロセッサ\) プルダウン メニューをクリックして、この仮想デバイスのプロセッサの種類を選択します。 [x86] を選択すると、エミュレーターでハードウェア高速化を使用できるので最高のパフォーマンスを達成できます。 [x86_64] オプションでもハードウェア高速化を利用しますが、[x86] よりやや遅くなります ([x86_64] は通常 64 ビット アプリのテストに使用されます)。
[OS] プルダウン メニューをクリックして Android バージョン (API レベル) を選択します。 たとえば、API レベル 27 の仮想デバイスを作成するには、[Oreo 8.1 - API 27] を選択します。
まだインストールされていない Android API レベルを選択すると、デバイス マネージャーの画面の下部に "A new device will be downloaded" (新しいデバイスがダウンロードされます) というメッセージが表示され、新しい仮想デバイスの作成時に必要なファイルがダウンロードされ、インストールされます。
仮想デバイスに Google Play 開発者サービス API を含める場合は、[Google API] オプションを有効にします。 Google Play ストア アプリを含めるには、[Google Play Store]\(Google Play ストア\) オプションを有効にします。
Google Play ストアのイメージは、Pixel、Pixel 2、Nexus 5、Nexus 5 X などの一部の基本デバイスの種類でのみ使用できる点に注意してください。
変更する必要のあるプロパティを編集します。 プロパティを変更する場合は、「Android 仮想デバイス プロパティの編集」を参照してください。
明示的に設定する必要がある他のプロパティを追加します。 [New Device]\(新しいデバイス\) 画面には最もよく変更されるプロパティのみが表示されていますが、[Add Property]\(プロパティの追加\) プルダウン メニュー (下部) をクリックしてプロパティを追加できます。
また、プロパティ一覧の上部にある [Custom...]\(カスタム\) を選択してカスタム プロパティを定義することもできます。
新しいデバイスを作成するには、[Create]\(作成\) ボタン (右下隅) をクリックします。
[ライセンスの同意] 画面が表示される場合があります。 ライセンス条項に同意する場合は、[Accept]\(同意する\) をクリックします。
Android Device Manager により、インストールされている仮想デバイスのリストに新しいデバイスが追加されます。デバイスが作成されている間は、[Creating]\(作成中\) という進行状況のインジケーターが表示されます。
作成プロセスが完了すると、新しいデバイスがインストール済み仮想デバイスのリストに [Start]\(開始\) ボタンと共に表示され、起動できる状態になります。
デバイスの編集
既存の仮想デバイスを編集するには、デバイスを選んで、[Edit]\(編集\) ボタン (画面の右上隅にあります) をクリックします。
[Edit]\(編集\) をクリックすると、選んだ仮想デバイスのデバイス エディターが起動します。
[Device Editor]\(デバイス エディター\) 画面では、[Property]\(プロパティ\) 列に仮想デバイスのプロパティが一覧表示され、[Value]\(値\) 列に各プロパティの対応する値が表示されます。 プロパティを選ぶと、そのプロパティの詳しい説明が右側に表示されます。
プロパティを変更するには、[Value]\(値\) 列の値を編集します。
たとえば、次のスクリーンショットでは、hw.lcd.density
プロパティを 480 から 240 に変更しています。
必要な構成の変更を行った後、[Save]\(保存\) ボタンをクリックします。 仮想デバイス プロパティの変更の詳細については、「Android 仮想デバイス プロパティの編集」を参照してください。
追加のオプション
右上隅の [その他のオプション] (…) プルダウン メニューから、デバイスの操作に関するその他のオプションを指定できます。
その他のオプションのメニューには、次の項目が含まれます。
[複製して編集] – 現在選択しているデバイスを複製し、異なる一意の名前を付けて [新しいデバイス] 画面で開きます。 たとえば、[Pixel_API_27] を選択し、[Duplicate and Edit]\(複製して編集\) をクリックすると、名前にカウンターが追加されます。
[エクスプローラーで表示] – 仮想デバイスのファイルが含まれるフォルダーを、Windows のエクスプローラー ウィンドウで開きます。 たとえば、[Pixel_API_27] を選択し、[Reveal in Explorer]\(エクスプローラーで表示\) をクリックすると、次の例のようなウィンドウが開きます。
[出荷時の設定にリセット] - 選択したデバイスをその既定の設定にリセットし、デバイスの実行中にユーザーが行ったデバイスの内部状態に対する変更を消去します (現在のクイック ブートのスナップショットが存在する場合は、それも消去されます)。 仮想デバイスを作成または編集するときに行った変更は消去されません。 このリセットは元に戻すことができないという警告がダイアログ ボックスに表示されます。 [Factory Reset]\(出荷時の設定にリセット\) をクリックしてリセットを確定します。
削除: 選択した仮想デバイスを完全に削除します。 デバイスの削除は元に戻すことができないという警告がダイアログ ボックスに表示されます。 [Delete]\(削除\) をクリックして、デバイスを削除することを確認します。
Note
M1 などの Apple チップを搭載した Mac を使用している場合は、GitHub から M1 プレビュー用の Android Emulator をインストールする必要があります。
macOS 上の Android Device Manager
この記事では、Android Device Manager を使って、Android 仮想デバイスを作成、複製、カスタマイズ、起動する方法について説明します。
Android Emulator で実行する Android 仮想デバイス (AVD) を作成および構成するには、Android Device Manager を使います。 各 AVD は、物理的な Android デバイスをシミュレートするエミュレーター構成です。 これにより、異なる物理 Android デバイスをシミュレートするさまざまな構成でアプリを実行してテストすることができます。
要件
Android Device Manager を使用するには、次の項目が必要です。
Visual Studio for Mac 7.6 以降。
Android SDK をインストールする必要があります (「Xamarin.Android 向け Android SDK を設定する」を参照)。
(Android SDK Manager を使用して) 次のパッケージをインストールする必要があります。
- SDK Tools バージョン 26.1.1 以降
- Android SDK Platform-Tools 28.0.1 以降
- Android SDK Build-Tools 26.0.3 以降
これらのパッケージの状態は、次のスクリーンショットのように[インストール済み] と表示される必要があります。
Device Manager の起動
[ツール] > [デバイス マネージャー] の順にクリックし、Android デバイス マネージャーを起動します。
起動時に次のエラー ダイアログが表示される場合は、「トラブルシューティング」セクションの回避策の説明をご覧ください。
メイン画面
Android Device Manager を初めて起動すると、現在構成されているすべての仮想デバイスが画面に表示されます。 仮想デバイスごとに名前、OS (Android バージョン)、プロセッサ、メモリ サイズ、および画面の解像度が表示されます。
一覧のデバイスを選択すると、右側に [Play]\(再生\) ボタンが表示されます。 [Play]\(再生\) ボタンをクリックして、この仮想デバイスのエミュレーターを起動できます。
選んだ仮想デバイスでエミュレーターが開始した後、[Play]\(再生\) ボタンは [Stop]\(停止\) ボタンに変わり、このボタンを使ってエミュレーターを停止できます。
エミュレーターを停止するときに、次のクイック ブートのために現在の状態を保存するかどうかを確認するプロンプトが表示されることがあります。
現在の状態を保存すると、この仮想デバイスが再び起動されたときにエミュレーターの起動が速くなります。 クイック ブートの詳細については、「クイック ブート」を参照してください。
新しいデバイス
新しいデバイスを作成するには、[New Device]\(新しいデバイス\) ボタン (画面の左上にあります) をクリックします。
[New Device]\(新しいデバイス\) をクリックすると、[New Device]\(新しいデバイス\) 画面が表示されます。
[New Device]\(新しいデバイス\) 画面で新しいデバイスを構成するには、次の手順のようにします。
デバイスの新しい名前を指定します。 次の例では、新しいデバイスに「Pixel_API_27」という名前を指定しています。
[Base Device]\(ベース デバイス\) プルダウン メニューをクリックして、エミュレートする物理デバイスを選びます。
[Processor]\(プロセッサ\) プルダウン メニューをクリックして、この仮想デバイスのプロセッサの種類を選択します。 [x86] を選択すると、エミュレーターでハードウェア高速化を使用できるので最高のパフォーマンスを達成できます。 [x86_64] オプションでもハードウェア高速化を利用しますが、[x86] よりやや遅くなります ([x86_64] は通常 64 ビット アプリのテストに使用されます)。
[OS] プルダウン メニューをクリックして Android バージョン (API レベル) を選択します。 たとえば、API レベル 27 の仮想デバイスを作成するには、[Oreo 8.1 - API 27] を選択します。
まだインストールされていない Android API レベルを選択すると、デバイス マネージャーの画面の下部に "A new device will be downloaded" (新しいデバイスがダウンロードされます) というメッセージが表示され、新しい仮想デバイスの作成時に必要なファイルがダウンロードされ、インストールされます。
仮想デバイスに Google Play 開発者サービス API を含める場合は、[Google API] オプションを有効にします。 Google Play ストア アプリを含めるには、[Google Play Store]\(Google Play ストア\) オプションを有効にします。
Google Play ストアのイメージは、Pixel、Pixel 2、Nexus 5、Nexus 5 X などの一部の基本デバイスの種類でのみ使用できる点に注意してください。
変更する必要のあるプロパティを編集します。 プロパティを変更する場合は、「Android 仮想デバイス プロパティの編集」を参照してください。
明示的に設定する必要がある他のプロパティを追加します。 [New Device]\(新しいデバイス\) 画面には最もよく変更されるプロパティのみが表示されていますが、[Add Property]\(プロパティの追加\) プルダウン メニュー (下部) をクリックしてプロパティを追加できます。
また、このプロパティ一覧の上部にある [Custom...]\(カスタム\) をクリックしてカスタム プロパティを定義することもできます。
新しいデバイスを作成するには、[Create]\(作成\) ボタン (右下隅) をクリックします。
Android Device Manager により、インストールされている仮想デバイスのリストに新しいデバイスが追加されます。デバイスが作成されている間は、[Creating]\(作成中\) という進行状況のインジケーターが表示されます。
作成プロセスが完了すると、新しいデバイスがインストール済み仮想デバイスのリストに [Start]\(開始\) ボタンと共に表示され、起動できる状態になります。
デバイスの編集
既存の仮想デバイスを編集するには、[Additional Options]\(追加オプション\) プルダウン メニュー (歯車アイコン) を選んで、[Edit]\(編集\) を選びます。
[Edit]\(編集\) をクリックすると、選んだ仮想デバイスのデバイス エディターが起動します。
[Device Editor]\(デバイス エディター\) 画面では、[Property]\(プロパティ\) 列に仮想デバイスのプロパティが一覧表示され、[Value]\(値\) 列に各プロパティの対応する値が表示されます。 プロパティを選ぶと、そのプロパティの詳しい説明が右側に表示されます。
プロパティを変更するには、[Value]\(値\) 列の値を編集します。
たとえば、次のスクリーンショットでは、hw.lcd.density
プロパティを 480 から 240 に変更しています。
必要な構成の変更を行った後、[Save]\(保存\) ボタンをクリックします。 仮想デバイス プロパティの変更の詳細については、「Android 仮想デバイス プロパティの編集」を参照してください。
追加のオプション
デバイスの操作に関するその他のオプションを、[Play]\(再生\) ボタンの左側にあるプルダウン メニューから指定できます。
その他のオプションのメニューには、次の項目が含まれます。
[編集] - 前述のとおり、現在選択しているデバイスがデバイス エディターで開かれます。
[複製して編集] – 現在選択しているデバイスを複製し、異なる一意の名前を付けて [新しいデバイス] 画面で開きます。 たとえば、[Pixel 2 API 28] を選択し、[Duplicate and Edit]\(複製して編集\) をクリックすると、名前にカウンターが追加されます。
[Finder で表示] - 仮想デバイスのファイルが含まれるフォルダーを、macOS Finder ウィンドウで開きます。 たとえば、[Pixel 2 API 28] を選択し、[Reveal in Explorer]\(エクスプローラーで表示\) をクリックすると、次の例のようなウィンドウが開きます。
[出荷時の設定にリセット] - 選択したデバイスをその既定の設定にリセットし、デバイスの実行中にユーザーが行ったデバイスの内部状態に対する変更を消去します (現在のクイック ブートのスナップショットが存在する場合は、それも消去されます)。 仮想デバイスを作成または編集するときに行った変更は消去されません。 このリセットは元に戻すことができないという警告がダイアログ ボックスに表示されます。 [Factory Reset]\(出荷時の設定にリセット\) をクリックしてリセットを確定します。
削除: 選択した仮想デバイスを完全に削除します。 デバイスの削除は元に戻すことができないという警告がダイアログ ボックスに表示されます。 [Delete]\(削除\) をクリックして、デバイスを削除することを確認します。
トラブルシューティング
次のセクションでは、Android Device Manager を使用して仮想デバイスを構成するときに発生する可能性のある問題を診断して回避する方法について説明します。
標準以外の場所にある Android SDK
通常、Android SDK は次の場所にインストールされます。
C:\Program Files (x86)\Android\android-sdk
SDK がこの場所にインストールされていない場合、Android Device Manager の起動時に次のエラーが発生する可能性があります。
この問題を回避するには、次の手順を実行します。
Windows デスクトップから、C:\Users\username\AppData\Roaming\XamarinDeviceManager に移動します。
いずれかのログ ファイルをダブルクリックして開き、構成ファイルのパスを調べます。 次に例を示します。
この場所に移動し、user.config をダブルクリックして開きます。
user.config で
<UserSettings>
要素を探し、それに AndroidSdkPath 属性を追加します。 Android SDK がインストールされているコンピューター上のパスをこの属性に設定し、ファイルを保存します。 たとえば、Android SDK が C:\Programs\Android\SDK にインストールされている場合、<UserSettings>
は次のようになります。<UserSettings SdkLibLastWriteTimeUtcTicks="636409365200000000" AndroidSdkPath="C:ProgramsAndroidSDK" />
user.config をこのように変更すると、Android Device Manager を起動できるようになります。
不適切なバージョンの Android SDK Tools
Android SDK Tools 26.1.1 以降がインストールされていない場合、起動時に次のエラー ダイアログが表示されることがあります。
このエラー ダイアログが表示された場合は、[SDK マネージャーを開く] をクリックして Android SDK Manager を開きます。 Android SDK Manager で、[ツール] タブをクリックして、以下のパッケージをインストールします。
- Android SDK Tools 26.1.1 以降
- Android SDK Platform-Tools 27.0.1 以降
- Android SDK Build Tools 27.0.3 以降
スナップショットによって Android Oreo の WiFi が無効になる
Android Oreo 用に構成された AVD で Wi-Fi アクセスをシミュレートしている場合、スナップショットの後で AVD を再起動すると、Wi-Fi アクセスが無効になる場合があります。
この問題を回避するには、次のようにします。
Android Device Manager で AVD を選びます。
追加のオプション メニューから、[エクスプローラーで表示します] をクリックします。
snapshots > default_boot に移動します。
snapshot.pb ファイルを削除します。
AVD を再起動します。
これらの変更を行った後は、AVD は Wi-Fi が再び機能する状態で再起動します。
バグ報告の生成
上記のトラブルシューティングのヒントで解決できない問題が Android Device Manager で見つかった場合は、タイトル バーを右クリックし、[Generate Bug Report]\(バグ報告の生成\) を選択して、バグ報告を提出してください。
まとめ
このガイドでは、Visual Studio Tools for Xamarin and および Visual Studio for Mac で利用できる Android Device Manager について紹介しました。 Android エミュレーターの開始と停止、実行する Android 仮想デバイス (AVD) の選択、仮想デバイスの編集方法などの、重要な機能について説明しました。 さらにカスタマイズを行うためのハードウェア プロファイル プロパティの編集方法について説明し、一般的な問題のトラブルシューティングのヒントを提供しました。