Unity3D Android依赖解析失败求助:无法获取15.0.2版本依赖
Unity Android依赖解析失败:无法获取com.google.android.gms及com.google.firebase 15.0.2版本依赖
我最近在Unity3D开发中遇到了一个棘手的问题:仅使用官方Google插件的情况下,解析Android依赖时失败,无法获取多个15.0.2版本的com.google.android.gms及com.google.firebase相关依赖。错误日志如下:
Resolution failed Failed to fetch the following dependencies: com.google.android.gms:play-services-ads-identifier:15.0.2 com.google.android.gms:play-services-ads-license:15.0.2 com.google.android.gms:play-services-ads-lite-license:15.0.2 com.google.android.gms:play-services-ads-lite:15.0.2 com.google.android.gms:play-services-ads:15.0.2 com.google.android.gms:play-services-auth-api-phone-license:15.0.2 com.google.android.gms:play-services-auth-api-phone:15.0.2 com.google.android.gms:play-services-auth-base-license:15.0.2 com.google.android.gms:play-services-auth-base:15.0.2 com.google.android.gms:play-services-auth:15.0.2 com.google.android.gms:play-services-base:15.0.2 com.google.android.gms:play-services-basement:15.0.2 com.google.android.gms:play-services-drive-license:15.0.2 com.google.android.gms:play-services-drive:15.0.2 com.google.android.gms:play-services-games-license:15.0.2 com.google.android.gms:play-services-games:15.0.2 com.google.android.gms:play-services-gass-license:15.0.2 com.google.android.gms:play-services-gass:15.0.2 com.google.android.gms:play-services-nearby-license:15.0.2 com.google.android.gms:play-services-nearby:15.0.2 com.google.android.gms:play-services-stats:15.0.2 com.google.android.gms:play-services-tasks:15.0.2 com.google.firebase:firebase-analytics-impl-license:15.0.2 com.google.firebase:firebase-analytics-license:15.0.2 com.google.firebase:firebase-common-license:15.0.2 com.google.firebase:firebase-common:15.0.2 com.google.firebase:firebase-iid-license:15.0.2 com.google.firebase:firebase-messaging-license:15.0.2 UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Google.Logger:Log(String, LogLevel) GooglePlayServices.PlayServicesResolver:Log(String, LogLevel) GooglePlayServices.<ResolveUnsafe>c__AnonStorey2:<>m__1() GooglePlayServices.PlayServicesResolver:PumpUpdateQueue() UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at C:\buildslave\unity\build\Editor\Mono\EditorApplication.cs:183) (Filename: C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs Line: 183)
我当前使用的官方Google插件列表:
- Google Play Games 0.9.50
- Google Mobile Ads 3.13.1
- Firebase Unity SDK 4.5.2
- Google Analytics官方插件
值得注意的是,我已经在Android Studio中成功使用过15.0.2版本的这些库,但在Unity中始终无法完成依赖解析。经过排查,我整理了几个可行的解决方案:
解决方案尝试
1. 检查并重置Google Play Services Resolver配置
首先打开Unity的Window > Google Play Services > Resolver > Android Resolver > Settings,确认:
- 勾选了
Enable automatic resolution - 仓库设置为
Google Maven(不要选jcenter或其他第三方仓库) - 点击
Force Resolve按钮,强制触发一次完整的依赖解析流程
2. 更新Google Play Services Resolver版本
你的插件版本相对较旧,配套的Resolver可能已经不兼容最新的Maven仓库规则。可以通过以下方式更新:
- 打开
Window > Package Manager,搜索Google Play Services Resolver并更新到最新兼容版本 - 如果Package Manager里找不到,可手动下载最新的Resolver包替换项目中对应的文件
3. 强制统一依赖版本
不同插件可能请求不同版本的Google依赖,导致Resolver无法匹配。可以通过Gradle模板强制指定版本:
- 在Player Settings的
Publishing Settings中勾选Custom Gradle Template,生成Assets/Plugins/Android/mainTemplate.gradle文件 - 在文件的
dependencies块上方添加以下配置:
configurations.all { resolutionStrategy.force 'com.google.android.gms:play-services-base:15.0.2', 'com.google.android.gms:play-services-basement:15.0.2', 'com.google.firebase:firebase-common:15.0.2', // 可以继续添加日志中列出的其他需要强制的依赖 }
4. 排查网络与代理问题
Unity解析依赖需要访问Google Maven仓库,如果网络受限或代理配置错误会导致下载失败:
- 关闭不必要的代理,或者在
Edit > Preferences > Network中配置正确的代理信息 - 切换到能稳定访问Google服务的网络环境
5. 清理缓存并重新导入插件
缓存的旧资源可能导致冲突:
- 删除Unity缓存目录:Windows下是
%USERPROFILE%\AppData\Local\Unity\cache,Mac下是~/Library/Unity/Cache - 删除项目根目录的
Library文件夹,重新打开Unity让它重新导入所有资源 - 暂时卸载所有Google插件,重新下载并导入版本匹配的最新版插件(注意Firebase和Play Services插件版本需要相互兼容)
内容的提问来源于stack exchange,提问作者Aykut Uludağ




