Gradle构建工具无法找到play-services-tasks.aar的原因排查
解决play-services-tasks.aar找不到的突发构建错误
我之前也碰到过一模一样的问题,明明浏览器能下载依赖包、Gradle配置没动过,却突然报找不到的错误,大概率是缓存或仓库优先级的问题,你可以按下面的步骤逐一排查:
1. 清理Gradle缓存并重启Android Studio
Gradle本地缓存偶尔会损坏或者没正确拉取到依赖,这是最常见的诱因:
- 打开Android Studio,点击顶部菜单栏的
File->Invalidate Caches... - 在弹出窗口勾选
Invalidate and Restart,等待Studio重启并重新同步项目 - 如果重启后还是不行,手动删除本地Gradle缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\caches - Mac/Linux:
~/.gradle/caches
删除后重新打开项目,让Gradle重新下载所有依赖
- Windows:
2. 调整仓库优先级,优先从Google Maven拉取
你的项目级Gradle里,jcenter() 放在了 google() 前面,但Google官方的Play Services和Firebase库从Google Maven拉取更稳定可靠。修改项目级Gradle配置:
修改项目级build.gradle的仓库顺序
确保 google() 放在所有仓库最前面,同时移除重复的Google仓库(maven { url 'https://maven.google.com' } 和 google() 是等价的):
buildscript { repositories { google() // 优先从Google Maven拉取官方库 jcenter() maven { url "https://dl.bintray.com/android/android-tools" } maven { url "https://jitpack.io" } } // 你的classpath配置... } allprojects { repositories { google() // 这里也要同步调整顺序 jcenter() maven { url "https://dl.bintray.com/android/android-tools" } maven { url "https://jitpack.io" } } }
调整后点击 Sync Now 重新同步,Gradle会优先从Google仓库拉取Play Services相关依赖,避免jcenter的同步延迟问题。
3. 检查是否开启了Gradle离线模式
如果Android Studio开启了离线工作,Gradle只会读取本地缓存,不会去远程仓库下载:
- 点击
File->Settings(Windows/Linux)或Android Studio->Settings(Mac) - 找到
Build, Execution, Deployment->Gradle - 取消勾选
Offline work,点击Apply->OK后重新同步项目
4. 统一Play Services和Firebase的依赖版本
你的依赖里,Play Services大多是15.0.1,但Firebase版本不一致(firebase-core:15.0.2、firebase-database:15.0.0),Google官方建议同系列库保持版本一致,否则可能引发依赖解析冲突:
- 把所有Firebase依赖统一为
15.0.1(确认该版本存在),比如:
或者统一升级到更高的兼容版本,再重新同步项目compile 'com.google.firebase:firebase-core:15.0.1' compile 'com.google.firebase:firebase-messaging:15.0.1' compile 'com.google.firebase:firebase-database:15.0.1'
5. 手动放入依赖到本地仓库(备选方案)
如果上面的方法都无效,你可以手动下载play-services-tasks-15.0.1.aar,放到本地Gradle仓库对应路径:
- 下载错误提示里的aar文件
- 找到本地仓库对应目录:
- Windows:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\com.google.android.gms\play-services-tasks\15.0.1 - Mac/Linux:
~/.gradle/caches/modules-2/files-2.1/com.google.android.gms/play-services-tasks/15.0.1
- Windows:
- 把下载的aar文件放入该目录(目录不存在就手动创建),然后重新构建项目
内容的提问来源于stack exchange,提问作者RagAnt
相关产品推荐
相关产品推荐

