Android Emulator でシーンアプリを実行する

Android Emulator を使用して、実機なしで AR シナリオをテストします。Android Emulator を使用すると、エミュレートしたデバイスを制御して、仮想環境で ARCore アプリを実行できます。

開発環境を設定する

ソフトウェア要件:

ハードウェア要件:

  • アプリでシーンシーンを使用するには、OpenGL ES 3.0 以降をサポートする開発マシンも必要です。

ARCore 用の Android Studio と SDK ツールを入手する

  1. Android Studio 3.1 以降をインストールします。

  2. Android Studio で、[Preferences] > [Appearance and Behavior] > System Settings > Android SDK に移動します。

  3. [SDK Platforms] タブを選択し、[Show Package Details] をオンにします。

    [Android 8.1 (Oreo)] で、以下を選択します。
    Google API Intel x86 Atom System Image API レベル 27、バージョン 4 以降。

  4. [SDK Tools] タブを選択し、Android Emulator 27.2.9 以降を追加します。

  5. [OK] をクリックして、選択したペースとツールをインストールします。

  6. もう一度 [OK] をクリックして、変更を確定します。

  7. コンポーネント インストーラのライセンス契約に同意します。

  8. [Finish] をクリックします。

AR をサポートする仮想デバイスを作成する

Android Studio の手順に沿って、AR をサポートする仮想デバイスを作成します。

仮想デバイスを構成する

  • Pixel または Pixel 2 のハードウェア プロファイルを選択します。
  • [Oreo: API Level 27: x86: Android 8.1 (Google APIs)] システム イメージを選択します。
  • 仮想デバイスが正しく構成されていることを確認します。

    • [設定を確認] > [詳細設定を表示] に移動します。
    • [Camera Back] が [VirtualScene] に設定されていることを確認します。

シーン構成をサポートするようにエミュレータを構成する

シーンには OpenGL ES 3.0 以降が必要です。

  1. OpenGL ES の最新バージョンを使用するようにエミュレータが構成されていることを確認します。

    • 実行中のエミュレータのツールバーで、その他 をクリックします。
    • [Settings > Advanced > OpenGL ES API level > Renderer maximum (up to OpenGL ES 3.1)] を選択します。
    • エミュレータを再起動します。プロンプトが表示されたら、現在の状態を保存しないでください。
  2. エミュレータを再起動した後、エミュレートされたデバイスを一時的に操作し、デバイスログを grepg して OpenGL ES 3.0 以降が使用されているかどうかを確認します。

    adb logcat | grep eglMakeCurrent

    ver 3 0 以降のバージョンが表示されている場合は、エミュレータでシーンアプリを実行できます。

    … …  …  … D EGL_emulation: eglMakeCurrent: 0xebe63540: ver 3 0 (tinfo 0xd104cb40)

    これより前のバージョンが表示された場合、デスクトップ GPU は OpenGL ES 3.0 をサポートしていないため、代わりにサポートされているデバイスを使用してシーンシーン アプリを実行する必要があります。

アプリを実行する

エミュレータで AR 対応仮想デバイスで ARCore アプリをテストします。そのためには、Android Studio の手順に沿って Android Emulator でアプリを実行します。

Google Play 開発者サービス(AR)を更新する

エミュレータ上の AR 用 Google Play 開発者サービスのバージョンが古い可能性があります。次の手順に沿って更新してください。

  1. GitHub のリリース ページから、最新の Google_Play_Services_for_AR_1.15.0_x86_for_emulator.apk をダウンロードします。

  2. ダウンロードした各 AVD に、ダウンロードした APK をインストールします。

    目的の AVD を起動し、ダウンロードした APK を実行中のエミュレータにドラッグするか、仮想デバイスの実行中に adb を使用してインストールします。

    adb install -r Google_Play_Services_for_AR_1.15.0_x86_for_emulator.apk

使用したい AVD があれば、この手順を繰り返します。

仮想シーンを操作する

アプリが ARCore に接続すると、エミュレータの下部にカメラを制御する方法を説明するオーバーレイとステータスバーが表示されます。

仮想カメラを移動する

option(macOS)または Alt(Linux または Windows)を長押しして、カメラの移動コントロールにアクセスします。カメラを移動するには、以下のコントロールを使用します。

プラットフォーム アクション 必要なご対応
macOS 左右に移動する option を押しながら A または D
下または上に移動 option を押しながら Q または E
前後に移動 option を押しながら W または S
デバイスの向きを変更する option+マウスの長押し
Linux または Windows 左右に移動する Alt キーを押しながら A または D を押す
下または上に移動 Alt を押しながら Q または E
前後に移動 Alt を押しながら W または S
デバイスの向きを変更する Alt+マウスの長押し

Option または Alt を離すと、エミュレータのインタラクティブ モードに戻ります。

デバイスの拡張の位置をより正確に設定するには、[Extended controls] の [Virtual Sensors] タブを使用します。

トラブルシューティングのヒント

  • ARCore アプリが起動したときに「AR Core はサポートされていません」というメッセージが表示された場合は、システム イメージのリビジョンを確認してください。API レベル 27 リビジョン 4 を使用していることを確認します。

  • ARCore アプリが起動時にカメラを開くことができない場合は、上記の構成手順で説明したように、[Camera Back] が VirtualScene に設定されていることを確認します。