LoginSignup
9
9

More than 3 years have passed since last update.

ARCoreを使ったARアプリをエミュレータで動かす

Last updated at Posted at 2019-11-28

ARKitを使ったARアプリはエミュレータで動かせませんが、ARCoreを使ったARアプリはエミュレータで動かすことができます。
エミュレータで動かす際に少しハマったことがあるので共有します。
(Unityで作成したARアプリは、この記事とは違うやり方なので注意してください。)

必要な環境

  • Android Studio 3.1以降
  • Android Emulator 27.2.9以降

サンプルプロジェクトのダウンロード

この記事ではARCore SDKにあるサンプルプロジェクトを使用します。
ARCore SDKをDLします。
そして、samples/hello_ar_javaをAndroid Studioで開きます。

エミュレータ

エミュレータを起動します。
端末によってはARCoreをサポートしてないため、エミュレータはなるべく新しめの端末の方がいいです。
API Levelは27(Oreo)以降が必要です。(API Levelも最新の29が良さそう)

サンプルアプリの起動

ここからが少しハマったところです。
サンプルアプリを起動します。
すると...

Screenshot_1574947031.png

This application requires the atest version of Google Play Services for AR.
(このアプリを使用するには、最新バージョンのGooglePlay開発者サービス(AR)が必要です。)

と、出てきます。
どうやら、エミュレータでARアプリを使うにはGoogle Play Services for ARが必要らしいです。
CONTINUEを押すとGoogle Play Storeに飛ばされます。

Screenshot_1574947339.png

これをインストールしなきゃいけないのに
Your device isn't compatible with this version.
(お使いのデバイスはこのバージョンに対応していません。)

って表示されて、インストールできなく、ARのサンプルアプリが無限にエミュレータで起動できない状態になってしまいます。

こんな時は、大人しくARCoreのドキュメントをみましょう!

どうやらGitHubのリリースページから最新のGoogle_Play_Services_for_AR.apkをDLする必要があるっぽいです。
*現在(2019年11月時点)では、v1.13.0が最新
DLしたapkファイルをエミュレータ上にドラッグするか、エミュレータ起動中に、以下のadbコマンドを叩きます。

adb install -r Google_Play_Services_for_AR_1.13.0_x86_for_emulator.apk

うまくインストールされるとアプリの一覧に表示されます
SCREENSHOT_1574948695 3.png

そして、もう一度サンプルアプリを立ち上げると...
Screenshot_1574950058.png

無事、エミュレータでARアプリを動かせました!!!!
なぜか平面認識すると白くなるようです。他のアプリだとそうならないので、おそらくサンプルアプリの影響です。

エミュレータ内で動くためには以下のKeyを使います

platform key
mac option + WASD
Linux, Windows Alt + WASD

ちなみに、エミュレータの右にある「・・・」の中にあるVirtual sensorsで、センサの値を直接いじっても動きます。

API Levelを28以下にすると...

API Levelを29じゃなく、28や27でやった場合、
this device does not support ARと表示されてアプリが使えないです。apkファイルのバージョンを下げたらいけそう...って思ったのですが、そもそもGoogle_Play_Services_for_AR.apkを認識してくれませんでした。
知見ある方、コメント待ってます。

9
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9