【Unity】AndroidXライブラリ活用時に実機アプリケーションが即落ちする問題の解決方法

Unity Tips

androidxライブラリを利用するようにしたら、実機のアプリケーションが即落ちして起動できなくなっちゃった! どうしよう!

とお困りの方、もしかすると下記のようなエラーが原因かもしれません。

エラー内容

Error AndroidRuntime java.lang.RuntimeException: Unable to get provider androidx.core.content.FileProvider: java.lang.ClassNotFoundException: Didn’t find class “androidx.core.content.FileProvider"

「Android Lohcat」というパッケージを導入することで実機動作時のエラーログを取得できるので、似たようなエラーが発生していないか確認してみるとよいでしょう。

利用方法は下記がわかりやすいです。

[Unity]Android Logcatのパッケージが実機デバッグ時に便利だったお話 | nobushiueshi

もし導入するのが面倒、難しいことは苦手だからとりあえず解決方法を試したいということであれば、このまま下記の原因分析・解決方法をご確認下さい。

調査環境

OS:Windows11

Unity ver:2021.3.8f1

Android ver:Android9~12

原因分析

エラー内容を翻訳してみると下記の通り。

エラー内容(翻訳版)

Error AndroidRuntime java.lang.RuntimeException: プロバイダー androidx.core.content.FileProvider を取得できません: java.lang.ClassNotFoundException: クラス “androidx.core.content.FileProvider" が見つかりませんでした

どうも何らかの理由によりAndroidXライブラリが参照できずにいることが原因のようです。

そのため、AndroidXライブラリを参照できるように変更してあげる必要があります。

解決方法

プレイヤー設定の公開設定にあるカスタムGradleプロパティテンプレートにチェックを入れてください。

すると、「Assets/Plugins/Android」フォルダ内に「gradleTemplate.properties」というファイルが生成されるので、テキストエディタで開き、下記の文言を追加してください。

android.useAndroidX=true
android.enableJetifier=true

これでAndroidXライブラリが参照可能となることで、アプリケーションが即落ちする問題を解消できます。

もし解消できない場合は別の原因である可能性が高いので、先述の「Android Lohcat」などを活用して正確なエラー内容を確認してみるとよいでしょう。

Posted by yuumekou