Unity Android构建Firebase初始化失败:DllNotFoundException报错求助
解决方案
针对你遇到的Unity+Firebase Android构建后报错问题,按以下步骤排查修复:
一、解决google-services.json未应用到gradle问题
- 确保Android版本的google-services.json放在Assets根目录(你提到了google-services-desktop.json,但Android需要的是对应Android应用的配置文件,从Firebase控制台下载时要选择Android平台)
- 打开Unity
Player Settings > Publishing Settings > Build,勾选Custom Main Gradle Template和Custom Launcher Gradle Template - 打开
Assets/Plugins/Android/MainTemplate.gradle,在文件末尾添加:apply plugin: 'com.google.gms.google-services' - 确认
LauncherTemplate.gradle的dependencies块中包含Firebase Auth依赖,比如:
(版本号需与Firebase SDK 12.4.1对应)implementation 'com.google.firebase:firebase-auth:22.3.1'
二、解决DllNotFoundException: FirebaseCppApp-12_4_1问题
- 检查
Assets/Firebase/Plugins/Android目录下,是否存在firebase-app-*.aar、firebase-auth-*.aar,以及libs文件夹下各架构(armeabi-v7a、arm64-v8a等)的libFirebaseCppApp-12_4_1.so文件,缺失则重新导入Firebase SDK并确保勾选Android平台支持 - 切换脚本后端为IL2CPP:打开
Player Settings > Other Settings > Configuration,将Scripting Backend设为IL2CPP,同时在Target Architectures中勾选ARM64 - 清理缓存后重新构建:删除Unity项目根目录下的
Library和Temp文件夹,重启Unity后重新执行构建
三、额外排查项
- 确认Firebase控制台中Android应用的包名与Unity
Player Settings > Identification > Package Name完全一致 - 检查Unity的Android Build Tools版本:
Player Settings > Android > Build > Build Tools Version选择30.0.3及以上版本,gradle-wrapper.properties中的distributionUrl对应gradle 7.4版本(如https\://services.gradle.org/distributions/gradle-7.4-bin.zip) - 禁用Firebase Analytics后,确保初始化代码中未调用Analytics相关方法,且Firebase控制台项目设置中已关闭Analytics服务
内容的提问来源于stack exchange,提问作者Shombith Chakraborthy
相关产品推荐
相关产品推荐

