久しぶりにビルドしたUnity製のAndroid版アプリで、特定のボタンを押したらFirebaseへのログ送信を行うようにしていたのですが、以下のエラーが発生してアプリが動かなくなる状況が発生したので、今後の為にメモとして残しておきたいと思います。
DllNotFoundException: Unable to load DLL 'FirebaseCppApp-6_15_2': The specified module could not be found.
【Android】 DllNotFoundException: Unable to load DLL 'FirebaseCppApp'のエラー対処法
とりあえず、ネットで調べた感じだと、以下の記事がヒットしました。
調べた内容をまとめると以下のような感じでした。
- Firebaseの以前関係がうまくいってない可能性がある
- Firebase SDKをダウンロードしてきてインポートするのではなく、PackageManagerからインポートするとうまくいくかも?
- バージョンの違うFirebaseが複数入っていてエラーが発生している可能性あり
- Android ResolverでForce Resolveするとうまくいくかも
自分の環境は以下のような感じです。
- 過去にPackageManagerでFirebaseをインポートしている
- 最近、Firebase Messagingを追加したけど、PackageManagerではなくFirebase SDKを直接ダウンロードしてプロジェクトにインポートした
色々と試した結果、最終的には以下の方法でうまくいきました。
- PackageManagerでインポートしたFirebase関連を全て「remove」
- Unityプロジェクト上のFirebaseフォルダ・ライブラリを全て削除
- Android ResolverでDelete Resolved Libraries
- Android ResolverでForce Resolve
- Firebase SDKを公式からダウンロードしてプロジェクトにインポート
要はプロジェクト上のFirebaseを一通り削除して、入れ直した感じです。
PackageManagerでインポートしたライブラリって忘れがちなので、今後はうまくいかない場合のパターンとして頭に入れておこうと思いました。
お知らせ
脱出ゲーム「忍者屋敷からの脱出」をリリースしました!