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 デバイス マネージャーのスクリーンショット

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 以降。

    これらのパッケージの状態は、次のスクリーンショットのように [インストール済み] と表示される必要があります。

    Android SDK ツールのインストール

Device Manager の起動

[ツール] メニューの [Android Android デバイス マネージャー] > をクリックして、Android > デバイス マネージャーを起動します。

[ツール] メニューからデバイス マネージャーを起動する

起動時に次のエラー ダイアログが表示される場合は、「トラブルシューティング」セクションの回避策の説明をご覧ください。

Android SDK インスタンスのエラー ダイアログ

メイン画面

Android Device Manager を初めて起動すると、現在構成されているすべての仮想デバイスが画面に表示されます。 仮想デバイスごとに名前OS (Android バージョン)、プロセッサメモリ サイズ、および画面の解像度が表示されます。

インストールされているデバイスとそのパラメーターの一覧

一覧のデバイスを選択すると、右側に [Start]\(開始\) ボタンが表示されます。 [Start]\(開始\) ボタンをクリックして、この仮想デバイスのエミュレーターを起動できます。

デバイス イメージの [スタート] ボタン

選んだ仮想デバイスでエミュレーターが開始した後、 [Start]\(開始\) ボタンは [Stop]\(停止\) ボタンに変わり、このボタンを使ってエミュレーターを停止できます。

実行中のデバイスの [停止] ボタン

新しいデバイス

新しいデバイスを作成するには、 [New]\(新規\) ボタン (画面の右上にあります) をクリックします。

新しいデバイスを作成するための [新しい] ボタン

[New]\(新規\) をクリックすると、 [New Device]\(新しいデバイス\) 画面が表示されます。

デバイス マネージャーの [新しいデバイス] 画面

[New Device]\(新しいデバイス) 画面で新しいデバイスを構成するには、次の手順を実行します。

  1. デバイスの新しい名前を指定します。 次の例では、新しいデバイスに「Pixel_API_27」という名前を指定しています。

    新しいデバイスに名前を付ける

  2. [Base Device]\(ベース デバイス\) プルダウン メニューをクリックして、エミュレートする物理デバイスを選びます。

    エミュレートする物理デバイスの選択

  3. [Processor]\(プロセッサ\) プルダウン メニューをクリックして、この仮想デバイスのプロセッサの種類を選択します。 [x86] を選択すると、エミュレーターでハードウェア高速化を使用できるので最高のパフォーマンスを達成できます。 [x86_64] オプションでもハードウェア高速化を利用しますが、 [x86] よりやや遅くなります ( [x86_64] は通常 64 ビット アプリのテストに使用されます)。

    プロセッサの種類の選択

  4. [OS] プルダウン メニューをクリックして Android バージョン (API レベル) を選択します。 たとえば、API レベル 27 の仮想デバイスを作成するには、 [Oreo 8.1 - API 27] を選択します。

    Android バージョンの選択

    まだインストールされていない Android API レベルを選択した場合、デバイス マネージャーには、画面の下部に新しいデバイスがダウンロードされますというメッセージが表示されます。新しい仮想デバイスが作成されると、必要なファイルがダウンロードされてインストールされます。

    新しいデバイス イメージがダウンロードされます

  5. 仮想デバイスに Google Play 開発者サービス API を含める場合は、 [Google API] オプションを有効にします。 Google Play ストア アプリを含めるには、 [Google Play Store]\(Google Play ストア\) オプションを有効にします。

    Google Play サービスと Google Play ストアの選択

    Google Play ストアのイメージは、Pixel、Pixel 2、Nexus 5、Nexus 5 X などの一部の基本デバイスの種類でのみ使用できる点に注意してください。

  6. 変更する必要のあるプロパティを編集します。 プロパティを変更する場合は、「Android 仮想デバイス プロパティの編集」を参照してください。

  7. 明示的に設定する必要がある他のプロパティを追加します。 [New Device]\(新しいデバイス\) 画面には最もよく変更されるプロパティのみが表示されていますが、 [Add Property]\(プロパティの追加\) プルダウン メニュー (下部) をクリックしてプロパティを追加できます。

    [プロパティの追加] プルダウン メニュー

    プロパティ リストの上部にある [ Custom...]\(カスタム...\) を選択して、カスタム プロパティを定義することもできます。

  8. 新しいデバイスを作成するには、 [Create]\(作成\) ボタン (右下隅) をクリックします。

    [作成] ボタン

  9. [License Acceptance] \(ライセンスの同意\) 画面が表示される場合があります。 ライセンス条項に同意する場合は、 [Accept]\(同意する\) をクリックします。

    [ライセンスの同意] 画面

  10. Android Device Manager により、インストールされている仮想デバイスのリストに新しいデバイスが追加されます。デバイスが作成されている間は、 [Creating]\(作成中\) という進行状況のインジケーターが表示されます。

    作成の進行状況インジケーター

  11. 作成プロセスが完了すると、新しいデバイスがインストール済み仮想デバイスのリストに [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 デバイス マネージャーのスクリーンショット

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 以降

    これらのパッケージの状態は、次のスクリーンショットのように [インストール済み] と表示される必要があります。

    Android SDK ツールのインストール

Device Manager の起動

[ツール>] デバイス マネージャーをクリックして Android デバイス マネージャーを起動します。

[ツール] メニューからデバイス マネージャーを起動する

起動時に次のエラー ダイアログが表示される場合は、「トラブルシューティング」セクションの回避策の説明をご覧ください。

スクリーンショットには、トラブルシューティング情報に関する Android SDK インスタンスのエラー ダイアログ ボックスが表示されています。

メイン画面

Android Device Manager を初めて起動すると、現在構成されているすべての仮想デバイスが画面に表示されます。 仮想デバイスごとに名前OS (Android バージョン)、プロセッサメモリ サイズ、および画面の解像度が表示されます。

インストールされているデバイスとそのパラメーターの一覧

一覧のデバイスを選択すると、右側に [Play]\(再生\) ボタンが表示されます。 [Play]\(再生\) ボタンをクリックして、この仮想デバイスのエミュレーターを起動できます。

デバイス イメージの [再生] ボタン

選んだ仮想デバイスでエミュレーターが開始した後、 [Play]\(再生\) ボタンは [Stop]\(停止\) ボタンに変わり、このボタンを使ってエミュレーターを停止できます。

実行中のデバイスの [停止] ボタン

エミュレーターを停止するときに、次のクイック ブートのために現在の状態を保存するかどうかを確認するプロンプトが表示されることがあります。

クイック ブート ダイアログの現在の状態を保存する

現在の状態を保存すると、この仮想デバイスが再び起動されたときにエミュレーターの起動が速くなります。 クイック ブートの詳細については、「クイック ブート」を参照してください。

新しいデバイス

新しいデバイスを作成するには、 [New Device]\(新しいデバイス\) ボタン (画面の左上にあります) をクリックします。

新しいデバイスを作成するための [新しい] ボタン

[New Device]\(新しいデバイス\) をクリックすると、 [New Device]\(新しいデバイス\) 画面が表示されます。

デバイス マネージャーの [新しいデバイス] 画面

[New Device]\(新しいデバイス\) 画面で新しいデバイスを構成するには、次の手順のようにします。

  1. デバイスの新しい名前を指定します。 次の例では、新しいデバイスに「Pixel_API_27」という名前を指定しています。

    新しいデバイスに名前を付ける

  2. [Base Device]\(ベース デバイス\) プルダウン メニューをクリックして、エミュレートする物理デバイスを選びます。

    エミュレートする物理デバイスの選択

  3. [Processor]\(プロセッサ\) プルダウン メニューをクリックして、この仮想デバイスのプロセッサの種類を選択します。 [x86] を選択すると、エミュレーターでハードウェア高速化を使用できるので最高のパフォーマンスを達成できます。 [x86_64] オプションでもハードウェア高速化を利用しますが、 [x86] よりやや遅くなります ( [x86_64] は通常 64 ビット アプリのテストに使用されます)。

    プロセッサの種類の選択

  4. [OS] プルダウン メニューをクリックして Android バージョン (API レベル) を選択します。 たとえば、API レベル 27 の仮想デバイスを作成するには、 [Oreo 8.1 - API 27] を選択します。

    Android バージョンの選択

    まだインストールされていない Android API レベルを選択した場合、デバイス マネージャーには、画面の下部に新しいデバイスがダウンロードされますというメッセージが表示されます。新しい仮想デバイスが作成されると、必要なファイルがダウンロードされてインストールされます。

    新しいデバイス イメージがダウンロードされます

  5. 仮想デバイスに Google Play 開発者サービス API を含める場合は、 [Google API] オプションを有効にします。 Google Play ストア アプリを含めるには、 [Google Play Store]\(Google Play ストア\) オプションを有効にします。

    Google Play サービスと Google Play ストアの選択

    Google Play ストアのイメージは、Pixel、Pixel 2、Nexus 5、Nexus 5 X などの一部の基本デバイスの種類でのみ使用できる点に注意してください。

  6. 変更する必要のあるプロパティを編集します。 プロパティを変更する場合は、「Android 仮想デバイス プロパティの編集」を参照してください。

  7. 明示的に設定する必要がある他のプロパティを追加します。 [New Device]\(新しいデバイス\) 画面には最もよく変更されるプロパティのみが表示されていますが、 [Add Property]\(プロパティの追加\) プルダウン メニュー (下部) をクリックしてプロパティを追加できます。

    [プロパティの追加] プルダウン メニュー

    また、このプロパティ一覧の上部にある [Custom...]\(カスタム\) をクリックしてカスタム プロパティを定義することもできます。

  8. 新しいデバイスを作成するには、 [Create]\(作成\) ボタン (右下隅) をクリックします。

    [作成] ボタン

  9. Android Device Manager により、インストールされている仮想デバイスのリストに新しいデバイスが追加されます。デバイスが作成されている間は、 [Creating]\(作成中\) という進行状況のインジケーターが表示されます。

    作成の進行状況インジケーター

  10. 作成プロセスが完了すると、新しいデバイスがインストール済み仮想デバイスのリストに [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]\(エクスプローラーで表示\) をクリックすると、次の例のようなウィンドウが開きます。

    Finder で [表示] をクリックした結果

  • 出荷時の設定にリセット – 選択したデバイスを既定の設定にリセットし、実行中にデバイスの内部状態に加えられたユーザーの変更を消去します (これにより、現在のクイック ブート スナップショットも消去されます(存在する場合)。 仮想デバイスを作成または編集するときに行った変更は消去されません。 このリセットは元に戻すことができないという警告がダイアログ ボックスに表示されます。 [Factory Reset]\(出荷時の設定にリセット\) をクリックしてリセットを確定します。

    [出荷時の設定にリセット] ダイアログ

  • 削除 – 選択した仮想デバイスを完全に削除します。 デバイスの削除は元に戻すことができないという警告がダイアログ ボックスに表示されます。 [Delete]\(削除\) をクリックして、デバイスを削除することを確認します。

    [デバイスの削除] ダイアログ


トラブルシューティング

次のセクションでは、Android Device Manager を使用して仮想デバイスを構成するときに発生する可能性のある問題を診断して回避する方法について説明します。

標準以外の場所にある Android SDK

通常、Android SDK は次の場所にインストールされます。

C:\Program Files (x86)\Android\android-sdk

SDK がこの場所にインストールされていない場合、Android Device Manager の起動時に次のエラーが発生する可能性があります。

Android SDK インスタンス エラー

この問題を回避するには、次の手順を実行します。

  1. Windows デスクトップから、 C:\Users\username\AppData\Roaming\XamarinDeviceManager に移動します。

    Android デバイス マネージャー ログ ファイルの場所

  2. いずれかのログ ファイルをダブルクリックして開き、構成ファイルのパスを調べます。 次に例を示します。

    ログ ファイルの構成ファイル パス

  3. この場所に移動し、user.config をダブルクリックして開きます。

  4. user.config<UserSettings> 要素を探し、それに AndroidSdkPath 属性を追加します。 Android SDK がインストールされているコンピューター上のパスをこの属性に設定し、ファイルを保存します。 たとえば、 <UserSettings> Android SDK が C:\Programs\Android\SDK にインストールされている場合は、次のようになります。

    <UserSettings SdkLibLastWriteTimeUtcTicks="636409365200000000" AndroidSdkPath="C:ProgramsAndroidSDK" />
    

user.config をこのように変更すると、Android Device Manager を起動できるようになります。

不適切なバージョンの Android SDK Tools

Android SDK Tools 26.1.1 以降がインストールされていない場合、起動時に次のエラー ダイアログが表示されることがあります。

スクリーンショットには、Android SDK インスタンスのエラー ダイアログ ボックスが表示されています。

このエラー ダイアログが表示された場合は、 [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 アクセスが無効になる場合があります。

この問題を回避するには、次のようにします。

  1. Android Device Manager で AVD を選びます。

  2. 追加のオプション メニューから、 [エクスプローラーで表示します] をクリックします。

  3. スナップショット default_bootに移動します>

  4. snapshot.pb ファイルを削除します。

    スナップショット.pb ファイルの場所

  5. 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) の選択、仮想デバイスの編集方法などの、重要な機能について説明しました。 さらにカスタマイズを行うためのハードウェア プロファイル プロパティの編集方法について説明し、一般的な問題のトラブルシューティングのヒントを提供しました。

他の Xamarin ビデオは、Channel 9 および YouTube でご覧いただけます。