【Unity】AndroidXライブラリ活用時に実機アプリケーションが即落ちする問題の解決方法
こんな方向け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のパッケージが実機デバッグ時に便利だったお話](https://nobushiueshi.com/wp-content/uploads/common/unity_logo_black.png)
もし導入するのが面倒、難しいことは苦手だからとりあえず解決方法を試したいということであれば、このまま下記の原因分析・解決方法をご確認下さい。
調査環境
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
などを活用して正確なエラー内容を確認してみるとよいでしょう。