Unity 2022.2.5 Android构建报错:找不到Firebase与GoogleSignIn库
Unity Android构建依赖找不到问题排查与解决
我使用Unity 2022.2.5版本构建Android端时,出现以下依赖找不到的报错(同时还有firebase-messaging-unity-11.6.0.pom和google-signin-support-1.0.4.pom的同类报错):
Could not determine the dependencies of task ':launcher:lintVitalRelease'. Could not resolve all artifacts for configuration ':launcher:debugRuntimeClasspath'. Could not find com.google.firebase:firebase-app-unity:11.6.0. Searched in the following locations: https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-app-unity/11.6.0/firebase-app-unity-11.6.0.pom https://repo.maven.apache.org/maven2/com/google/firebase/firebase-app-unity/11.6.0/firebase-app-unity-11.6.0.pom https://artifactory.appodeal.com/appodeal-beta-public/com/google/firebase/firebase-app-unity/11.6.0/firebase-app-unity-11.6.0.pom file:////Assets/GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-app-unity/11.6.0/firebase-app-unity-11.6.0.pom file:////Assets/GeneratedLocalRepo/GoogleSignIn/Editor/m2repository/com/google/firebase/firebase-app-unity/11.6.0/firebase-app-unity-11.6.0.pom file:/C:/Users/Admin/.m2/repository/com/google/firebase/firebase-app-unity/11.6.0/firebase-app-unity-11.6.0.pom file:/C:/Unity/projects/X/Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/libs/firebase-app-unity-11.6.0.jar file:/C:/Unity/projects/X/Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/libs/firebase-app-unity.jar
这些pom文件实际存在于搜索路径指定的c:\Unity\projects\X\Assets\GeneratedLocalRepo\Firebase\m2repository\com\google\firebase\firebase-app-unity\11.6.0\目录下,执行External Dependency Manager->Android Resolver->Force Resolve显示成功,但构建仍报错。
可能的原因
- 路径格式不匹配:Gradle搜索时用的
file:////Assets/...相对路径,和本地实际的绝对路径识别逻辑冲突,导致无法定位到文件。 - Gradle缓存脏数据:Unity生成的Gradle项目缓存了旧的依赖解析结果,即便本地文件存在,也不会重新读取。
- EDM4U配置不同步:External Dependency Manager生成的本地仓库配置,没有正确同步到Gradle构建脚本里。
- 文件权限不足:本地pom文件或所在目录没有读取权限,Gradle无法访问。
解决步骤
1. 修正本地仓库路径配置
- 先在Unity的
Player Settings->Publishing Settings里勾选「Custom Main Gradle Template」,生成Assets/Plugins/Android/mainTemplate.gradle文件。 - 打开该文件,在
repositories代码块中添加本地仓库的绝对路径:repositories { // 保留原有其他仓库配置 flatDir { dirs 'libs' } maven { url 'file:///C:/Unity/projects/X/Assets/GeneratedLocalRepo/Firebase/m2repository' } maven { url 'file:///C:/Unity/projects/X/Assets/GeneratedLocalRepo/GoogleSignIn/Editor/m2repository' } }
2. 清理Gradle缓存
- 删除Unity项目下的
Library/Bee/Android目录; - 删除用户目录下的
.gradle/caches文件夹(比如C:/Users/Admin/.gradle/caches); - 重启Unity,重新执行
External Dependency Manager->Android Resolver->Force Resolve。
3. 验证EDM4U配置
- 打开
External Dependency Manager->Settings,确保「Enable Local Maven Repository」选项已勾选; - 如果
GeneratedLocalRepo目录下文件有损坏,直接删除整个目录,再重新执行Force Resolve。
4. 检查文件权限
- 右键点击
GeneratedLocalRepo目录,选择「属性->安全」,确认当前用户拥有「读取和执行」权限。
5. 调整依赖版本(可选)
- 如果上述方法无效,尝试将Firebase和GoogleSignIn的版本升级到与Unity 2022.2兼容的最新稳定版,或者降级到经过验证的兼容版本(比如Firebase 10.x系列)。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

