忙しい人向け
64bit対応をするのです。
環境
モジュール | バージョン |
---|---|
Unity | 2019.4.1f1 |
ARFoundation | 2.1.8 |
ARCore XR Plugin | 2.1.11 |
現象
上記環境でARCoreの最低限の設定を行いビルドを行うと、正常にapkは生成されます。
しかしapkを転送してアプリを実機(Pixel3)で実行させると、Unityロゴ表示後、一瞬アプリの画面が表示(カメラ映像は出ていない)されてから、アプリが必ず異常終了してしまいます。
なお、過去にUnityで作成して動作していたハズの他のARCoreアプリケーションについても、同様の現象によってUnityロゴ表示後に異常終了をしてしまいます。
原因
原因は以前からアナウンスされていた、以下URLのARCore 64bit要件によるものらしいです。
ARCore 64-bit requirement
https://developers.google.com/ar/64bit
In August 2020, Google Play Services for AR (ARCore) removed support for 32-bit-only apps on 64-bit devices running Android 10 (API level 29) and later.
これによって2020年8月以降、Android10を搭載した64bit端末上で、ARCoreを利用した32bitのみのアプリケーションは動かなくなってしまったようです。
解決策
Android Developersの以下のURLの項目通り、
- [Scripting Backend]を[Mono]から[IL2CPP]へ変更
- [Target Archtecture]で[ARM64]を有効にする
- 通常通りビルド実行
すると、動くようになると思います。
64 ビット アーキテクチャのサポート
https://developer.android.com/distribute/best-practices/develop/64-bit#change-build-settings
さいごに
かなり以前からアナウンスされている事だったので、わかっている人にとっては当たり前の事だと思います。
が、自分のようにたまにちょっとARCoreのアプリをテスト的に作るかー!みたいな人だと、何で落ちんねん・・・。何で前動いていたアプリすら落ちんねん・・・。となってしまうのではないかと思います。きっとそうです。そんな人たちの助力になれば。