Google Maps API问题:旧应用重建时依赖指定地图库报错求助
解决Google Maps依赖下载失败的问题
Hey,我之前也碰到过几乎一模一样的问题,给你几个亲测有效的排查方向和解决办法:
1. 确认Google Maven仓库配置
旧项目很可能没配置Google官方的Maven仓库,而play-services-maps的包只在这个仓库里分发。检查项目根目录下的build.gradle文件,确保repositories块里包含google():
allprojects { repositories { google() // 必须要有这个,优先于其他仓库 mavenCentral() // 旧项目可能有jcenter,保留也没问题,但google()要放在前面 } }
如果之前只有jcenter或者mavenCentral,加上google()后同步试试。
2. 清理损坏的Gradle缓存
下载到50%失败大概率是缓存文件损坏了,Android Studio会误以为依赖不存在。按以下步骤操作:
- 关闭Android Studio
- 找到Gradle缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\caches - Mac/Linux:
~/.gradle/caches
- Windows:
- 删除
modules-2和transforms-2文件夹(这两个是存储依赖缓存的核心目录) - 重新打开Android Studio,点击
File -> Invalidate Caches...,勾选Invalidate and Restart,等待重启后重新构建
3. 排查网络问题
下载中断很多时候是网络不稳定或者防火墙拦截导致的:
- 试试切换到个人热点,避开公司网络的防火墙限制
- 确认网络环境能正常访问Google相关服务
- 可以手动尝试下载对应依赖的aar包,验证是否能完整获取,排除网络层面的问题
4. 考虑升级依赖版本(可选但推荐)
11.8.0是2017年的旧版本了,谷歌可能已经停止了这个版本的分发支持。如果项目代码允许的话,建议升级到较新的稳定版本,比如com.google.android.gms:play-services-maps:18.1.0(或者更高的兼容版本)。虽然你说没改代码,但新版本的兼容性更好,也能避免旧版本的分发问题。
5. 检查Gradle插件兼容性
旧项目的Gradle插件版本可能和11.8.0的依赖不匹配,比如Gradle插件3.0以下可能无法正确解析Google仓库的包。检查模块目录下的build.gradle里的插件版本:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.0' // 这个版本和11.8.0的依赖兼容 } }
如果插件版本太低,尝试升级到对应版本后再构建。
内容的提问来源于stack exchange,提问作者Zelig
相关产品推荐
相关产品推荐

