実機なしで AR シナリオをテストするには、Android Emulator を使用します。Android Emulator を使用すると、エミュレートしたデバイスを使用して、仮想環境で ARCore アプリを実行できます。
開発環境をセットアップする
ソフトウェア要件:
Android Studio 3.1 以降。
Android Emulator 27.2.9 以降。
ARCore に対応した Android Studio と SDK Tools を入手する
Android Studio 3.1 以降をインストールします。
Android Studio で Preferences > Appearance and Behavior > System Settings > Android SDK に移動します。
[SDK Platforms] タブを選択し、[Show Package Details] を確認します。
該当する Android バージョンの下で、以下を選択します。
Google APIs Intel x86 Atom System Image API Level 27 以降[SDK Tools] タブを選択し、Android Emulator 27.2.9 以降を追加します。
OK をクリックして、選択したパッケージとツールをインストールします。
もう一度 OK をクリックして変更を確定します。
Accept: コンポーネント インストーラの使用許諾契約。
[Finish] をクリックします。
AR をサポートする仮想デバイスを作成する
詳細については、Android Studio の仮想デバイスを作成する手順をご覧ください。
新しい Android Virtual Device(AVD)を作成する
Android Studio で Tools > Device Manager をクリックしてデバイス マネージャーを開きます。
[Device Manager] パネルの上部にある Create Device をクリックします。
目的の [Phone] ハードウェア プロファイルを選択または作成し、[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)を更新する
エミュレータの Google Play 開発者サービス(AR)のバージョンが古い可能性があります。次の手順に沿って更新してください。
GitHub のリリース ページから最新の Google_Play_Services_for_AR_1.41.0_x86_for_emulator.apk をダウンロードします。
ダウンロードした 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 controls の Camera タブを使用して、Scene images を追加または変更します。画像の場所は 2 つあります。1 つは壁に、もう 1 つはテーブルにあります。
シーン内でこれらの画像の位置を確認するには、エミュレータを起動し、カメラの開始位置の裏にあるドアからダイニング ルームにカメラを移動します。
トラブルシューティングのヒント
ARCore アプリが起動したときに「このデバイスは AR に対応していません」というメッセージが表示される場合は、システム イメージのリビジョンを確認します。API レベル 27 リビジョン 4 以降を使用していることを確認します。
ARCore アプリの起動時にカメラを起動できない場合は、上記の構成手順で説明されているように、Camera Back が VirtualScene に設定されていることを確認します。
「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 バージョンをインストールします。