升级至Android Studio 3.1后出现异常错误求助
解决Android Studio升级后jcenter服务器超时的问题
你碰到的问题本质是jcenter仓库已经停止服务了,这就是为什么访问它的资源会收到504网关超时错误,离线模式没用也是因为你本地Gradle缓存里大概率没有这个依赖的文件,或者缓存已经失效。下面是几个能解决问题的步骤:
替换废弃的jcenter仓库
打开项目根目录下的build.gradle(注意是Project级别的,不是Module级别的),找到repositories块,把里面的jcenter()删掉,换成mavenCentral()和google()——这两个是现在Android开发的主流仓库,大部分常用依赖都能在这里找到。修改后的代码大概是这样:buildscript { repositories { google() mavenCentral() // 移除jcenter() } // ...其他配置 } allprojects { repositories { google() mavenCentral() // 移除jcenter() } }清理Gradle缓存
旧的缓存可能残留了jcenter相关的无效记录,你可以通过Android Studio自带功能清理:- 点击顶部菜单栏的
File->Invalidate Caches... - 勾选
Invalidate and Restart,等待Studio重启完成
或者手动删除本地Gradle缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\caches - Mac:
~/.gradle/caches
- 点击顶部菜单栏的
检查并替换依赖源
如果项目里有某些依赖原本从jcenter获取,现在要确认它们是否已迁移到mavenCentral或google仓库。比如你提到的jaxb-parent:2.2.11,这个依赖在mavenCentral上是存在的,只要仓库配置了mavenCentral,同步时就能正常拉取。如果碰到个别找不到的依赖,直接搜索对应的groupId和artifactId,确认正确的依赖坐标即可。关闭离线模式
既然jcenter已经无法访问,离线模式只会让Gradle无法从可用仓库拉取新依赖,反而加重问题。关闭方式:- 点击
File->Settings(Mac上是Android Studio->Settings) - 找到
Build, Execution, Deployment->Gradle - 取消勾选
Offline work,点击OK后重新同步项目
- 点击
按照这些步骤操作后,应该就能解决服务器相关的同步错误了。
内容的提问来源于stack exchange,提问作者Ka8srn
相关产品推荐
相关产品推荐

