Android Studio导入项目后,Gradle编译失败,报错如下。
Error:Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) <a href="syncProject">Re-download dependencies and sync project (requires network)</a> <a href="syncProject">Re-download dependencies and sync project (requires network)</a>
搜了一下,这个报错是因为项目的gradle-wrapper.properties文件中指定需要的Gradle版本不存在。如下图,需要gradle-3.5-all.zip。
在AS的Gradle设置中,Gradle Home默认的路径是C:\Users\用户名\.gradle\wrapper\dists\。进这个目录看了一眼,发现的确已有了gradle-3.5-all文件夹。
那为何还是报这个找不到gradle目标版本的错误?打开其他版本的gradle目录对比了一下,发现gradle-3.5-all.zip的大小明显小于其他版本的。原来是因为天朝GFW的网络情况,导致gradle-3.5-all.zip在联网从下serviices.gradle.org/distributions/下载时,没下载完整就中断了。导致gradle-3.5没法正常使用。
解决办法是自己手动到serviices.gradle.org/distributions/网站上下载gradle(可用迅雷等下载工具),下好后丢进C:\Users\用户名\.gradle\wrapper\dists\即可。下载时填写url地址注意是https而不是http(多了个s)。
不解压该压缩包,打开AS打开项目,手动修改gradle-wrapper.properties中的gradle路径问本地路径:
给Gradle重新编译后就能看到压缩包被解压了。完成编译后可以把zip压缩包删除。
参考:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2017/0317/7691.html