as 会自动判断所需的 gradle 的版本地是否存在,不存在回去自动下载的,问题是 gradle 的包基本都在100-80M 之间,且远程连接不稳定,经常存在下载终中断,失败的问题,所以造成一个 gradle 文件下载不完全的问题,所以会出现下面的报错信息
Error:Failed to open zip file.
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)
Re-download dependencies and sync project (requires network)
一看这问题就是zip解压失败,接着下面提示Gradle's dependency cache may be corrupt:Gradle的依赖缓存可能是损坏的。到这里大家应该明白,as出现这样的问题是怎么导致的了吧,文件损坏。
首先我们查看 AS 默认 gradle 配置路径:
gradle 配置路径
然后按照路径 xxx.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9 ,这里以3.3版本距离,找到我们对应的那个版本的 gradle 文件夹,找到最终的 gradle 文件
最终的 gradle 文件
这里我发现,AS 自动下载的 gradle.zip 文件只有20M,明显是下载不完全的,我们游2种处理手段:
-
一个是删除 这个 gradle.zip 文件,AS 会再次自动下载,AS 升级到3.1之后,下载大文件会有提示,链接也稳定多了
Snip20180414_12.png - 另一个是我们自己下载,然后把 下载的 gradle.zip 文件放到这个位置
下载链接: services.gradle.org/distributions/gradle-3.3-all.zip , 版本号自自行替换即可
最后我们需要更新根目录下 gradle/wrapper/properties 下的 gradle 配置,需要更换版本号,AS 自动下载的不需要了。
Snip20180414_15.png