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

実機なしで AR シナリオをテストするには、Android Emulator を使用します。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 Level 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. 目的の [Phone] ハードウェア プロファイルを選択または作成し、[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.41.0_x86_for_emulator.apk をダウンロードします。

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

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

    adb install -r Google_Play_Services_for_AR_1.41.0_x86_for_emulator.apk

他にも使用する AVD について、この手順を繰り返します。

仮想シーンを制御する

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

仮想カメラを移動する

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

行動 手順
左右に移動 Shift キーを押しながら A または D キーを押す
下または上に移動 Shift キーを押しながら Q または E キーを押す
前後に移動 Shift キーを押しながら W または S キーを押す
デバイスの向きを変更する Shift キーを押しながらマウスを移動

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

デバイスのより正確な位置を設定するには、拡張コントロールVirtual Sensors タブを使用します。

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

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

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

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

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

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

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

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