Windows下Gradle缓存库位置及Android Studio Gradle同步失败咨询
解决Gradle同步失败(503)及Windows缓存位置问题
首先,咱们先理清楚问题的核心:你所在组织屏蔽了jcenter的CDN,导致Gradle无法下载kotlin-stdlib-jre8的依赖包,而且开启离线模式后没用——这大概率是因为你的本地Gradle缓存里从来没有下载过这个版本的依赖,离线模式自然找不到对应文件。下面分两部分解决你的问题:
一、解决离线模式无效的同步失败问题
方法1:替换为可访问的镜像源
既然jcenter被屏蔽,咱们可以换成国内的maven镜像源(比如阿里云的),这些源通常能正常同步jcenter的内容。修改项目根目录下的build.gradle文件:
buildscript { repositories { google() // 替换原来的jcenter()为阿里云镜像 maven { url 'https://maven.aliyun.com/repository/jcenter' } // mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.1.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0" } } allprojects { repositories { google() maven { url 'https://maven.aliyun.com/repository/jcenter' } // mavenCentral() } }
修改后,关闭离线模式,重新同步Gradle,应该就能正常下载依赖了。
方法2:手动添加依赖到缓存
如果换镜像也不行,那就手动下载所需的依赖文件,放到Gradle缓存目录里:
- 找到
kotlin-stdlib-jre8-1.2.0.pom和kotlin-stdlib-jre8-1.2.0.jar文件(可以找能访问jcenter的同事帮忙下载,或者从maven中央仓库获取); - 把这些文件放到下面要提到的Gradle缓存对应路径里,注意文件命名要和缓存里的格式一致(通常是一串哈希值作为文件名,你可以先看缓存里其他依赖的命名规则,或者直接把文件放进去后让Gradle自动识别);
- 清理Android Studio缓存:点击
File -> Invalidate Caches...,勾选Invalidate and Restart,重启后再开离线模式同步。
二、Windows下Gradle缓存的位置
默认情况下,Gradle的本地缓存位于:
C:\Users\<你的Windows用户名>\.gradle\caches\modules-2\files-2.1
具体到你要找的kotlin依赖,路径是:
C:\Users\<你的Windows用户名>\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jre8\1.2.0
这里面会存放该版本依赖的pom、jar以及其他相关文件,每个文件都是用哈希值命名的。
内容的提问来源于stack exchange,提问作者FaisalM
相关产品推荐
相关产品推荐

