473 文字
2 分

【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のパッケージが実機デバッグ時に便利だったお話
はじめに実機を操作している際に、ログを見ながらでデバッグしたいことが多々あります。以前紹介した「Lunar Mobile Console」も便利なのですがログをリアルタイムで見ることができないのが欠点でした。今回は、Androidでできる実...
[Unity]Android Logcatのパッケージが実機デバッグ時に便利だったお話 favicon nobushiueshi.com
[Unity]Android Logcatのパッケージが実機デバッグ時に便利だったお話

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

調査環境#

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プロパティテンプレートにチェックを入れてください。

ProjectSettings画面

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

android.useAndroidX=true
android.enableJetifier=true

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

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