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

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

開発環境を設定する

ソフトウェア要件:

ARCore 用の Android Studio と SDK Tools を入手する

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

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

  3. [SDK Platforms] タブを選択し、[Show Package Details] チェックボックスをオンにします。

    該当する Android バージョンで、以下を選択します。
    Google APIs Intel x86 Atom System Image API レベル 27 以降。

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

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

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

  7. Accept: コンポーネント インストーラに関する使用許諾契約。

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

AR 対応の仮想デバイスを作成する

詳しくは、Android Studio で仮想デバイスを作成するの手順をご覧ください。

新しい Android Virtual Device(AVD)を作成する

  1. Android Studio で Tools > Device Manager をクリックしてデバイス マネージャーを開きます。

  2. [Device Manager] パネルの上部にある Create Device をクリックします。

  3. 目的の電話ハードウェア プロファイルを選択または作成して、[Next] を選択します。

  4. API レベル 27 以降を実行している x86 または x86_64 システム イメージを選択し、Next を選択します。

    • 物理 ARCore デバイスは API レベル 24 以降でサポートされていますが、Android Emulator のサポートには API レベル 27 以降が必要です。

    • x86 ベースの Android Emulator アーキテクチャのみがサポートされています。arm64-v8aarmeabi-v7 などの他のアーキテクチャは現在サポートされていません。

  5. 仮想デバイスが正しく構成されていることを確認します。

    • [Show Advanced Settings] をクリックします。

    • Camera BackVirtualScene に設定されていることを確認します。

  6. Finish をクリックして AVD を作成します。

アプリを実行する

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

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

エミュレータの Google Play 開発者サービス(AR)のバージョンが古い可能性があります。更新の手順は次のとおりです。

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

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

    目的の AVD を起動し、ダウンロードした APK をシステム フォルダ(Downloads など)を実行中のエミュレータにインストールするか、仮想デバイスの実行時に adb を使用してインストールします。

    adb install -r Google_Play_Services_for_AR_1.44.0_x86_for_emulator.apk

使用したい AVD が他にもある場合は、上記の手順を繰り返します。

仮想シーンを制御する

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

仮想カメラを移動する

カメラの移動コントロールにアクセスするには、Shift を長押しします。 カメラを移動するには、次のコントロールを使用します。

アクション 必要な対応
左右に移動 Shift+A または D キーを押す
下または上に移動 Shift+Q または E キーを押す
前後に移動 Shift+W または S キーを押す
デバイスの向きを変更する Shift キーを押したままマウスを移動

Shift を離して、エミュレータのインタラクティブ モードに戻ります。

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

拡張画像をシーンに追加する

エミュレータのシミュレーション環境に画像を読み込んで、拡張画像をテストします。

Extended controlsCamera タブを使用して、Scene images を追加または変更します。画像は 2 か所あります。1 つは壁、もう 1 つはテーブルです。

シーン内のこれらの画像の位置を確認するには、エミュレータを起動し、カメラの開始位置の裏にあるドアからダイニング エリアにカメラを移動します。

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

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

  • ARCore アプリの起動時にカメラを開けない場合は、上記の構成手順で説明されているように、Camera BackVirtualScene に設定されていることを確認してください。

  • ARCore アプリが開かず、「Failed to create AR session」というエラー メッセージが表示される場合は、アプリログを確認します。/lib/arm/libarcore_c.so" is for EM_ARM (40) instead of EM_386 (3) を含むメッセージで java.lang.UnsatisfiedLinkError が見つかった場合は、間違ったバージョンの Google Play 開発者サービス(AR) APK をインストールしている可能性があります。新しい仮想デバイスを作成し、x86 バージョンをインストールします。