Android Emulator を使用して、実機を使用せずに AR シナリオをテストします。Android Emulator を使用すると、エミュレートしたデバイスを使用して、仮想環境で ARCore アプリを実行できます。
開発環境をセットアップする
ソフトウェア要件:
Android Studio 3.1 以降
Android Emulator 27.2.9 以降
ARCore 用の Android Studio および SDK ツールを入手する
Android Studio 3.1 以降をインストールします。
Android Studio で Preferences > Appearance and Behavior > System Settings > Android SDK に移動します。
SDK Platforms タブを選択し、Show Package Details をオンにします。
該当する Android バージョンで、以下を選択します。
Google API Intel x86 Atom System Image API レベル 27 以降。[SDK Tools] タブを選択し、Android Emulator 27.2.9 以降を追加します。
OK をクリックし、選択したパッケージとツールをインストールします。
もう一度 [OK] をクリックして変更を確定します。
Accept は、コンポーネント インストーラの使用許諾契約です。
[Finish] をクリックします。
AR をサポートする仮想デバイスを作成する
詳しくは、Android Studio で仮想デバイスを作成するをご覧ください。
新しい Android Virtual Device(AVD)を作成する
Android Studio で Tools > AVD Manager をクリックして AVD Manager を開きます。
[AVD Manager] ダイアログの下部にある [Create Virtual Device] をクリックします。
目的の [電話] ハードウェア プロファイルを選択または作成し、Next を選択します。
API レベル 27 以降を搭載した
x86
またはx86_64
システム イメージを選択し、Next を選択します。物理 ARCore デバイスは API レベル 24 以降でサポートされていますが、Android Emulator をサポートするには API レベル 27 以降が必要です。
x86 ベースの Android Emulator アーキテクチャのみがサポートされています。現在、
arm64-v8a
やarmeabi-v7
などの他のアーキテクチャはサポートされていません。
仮想デバイスが正しく設定されていることを確認します。
[Show Advanced Settings] をクリックします。
Camera Back が VirtualScene に設定されていることを確認します。
Finish をクリックして AVD を作成します。
アプリを実行する
エミュレータの AR 対応仮想デバイスで ARCore アプリをテストします。これを行うには、Android Studio の手順に沿って Android Emulator でアプリを実行する必要があります。
Google Play 開発者サービス(AR)を更新する
エミュレータの AR 用 Google Play 開発者サービスのバージョンが最新ではない可能性があります。更新する手順は次のとおりです。
最新の Google_Play_Services_for_AR_1.36.0_x86_for_emulator.apk を GitHub のリリースページからダウンロードします。
ダウンロードした各 AVD を、使用する各 AVD にインストールします。
目的の AVD を起動し、ダウンロードした APK をシステム フォルダからドラッグします(Downloads など)を実行中のエミュレータにインストールすることも、仮想デバイスの実行中に
adb
を使用してインストールすることもできます:adb install -r Google_Play_Services_for_AR_1.36.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 を解放して、エミュレータのインタラクティブ モードに戻ります。
拡張コントロールの Virtual Sensors タブを使用して、デバイスの位置を正確に指定します。
シーンに拡張画像を追加する
エミュレータのシミュレーション環境に画像を読み込んで、拡張画像をテストします。
Extended controls の Camera タブを使用して Scene images を追加または変更します。壁とテーブルという 2 つの画像があります。
こうした画像内のシーンをシーン内で表示するには、エミュレータを起動し、カメラの開始位置の後ろにあるドアからカメラをダイニング エリアに移動します。
トラブルシューティングのヒント
ARCore アプリが起動して「このデバイスは AR をサポートしていません」というメッセージが表示される場合は、システム イメージのリビジョンを確認します。API レベル 27 リビジョン 4 以降を使用していることを確認します。
ARCore アプリが起動時にカメラを開くことができない場合は、上記の構成手順で説明されているように、Camera Back が VirtualScene に設定されていることを確認します。
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 バージョンをインストールします。