WeChatOpenSdkSample项目无法打开,报Gradle错误

简介: WeChatOpenSdkSample项目无法打开,报Gradle错误

在集成微信功能的过程中,在打开微信的WeChatOpenSdkSample项目时,遇到了以下问题:

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)

从错误提示的意思理解,是某些错误导致网络链接超时,经过排查发现不少网络问题,那就只能是gradle的问题了。

被gradle坑过的童鞋肯定知道,gradle报的好多错误提示都跟真正的错误八竿子打不着的,所以接着看是不是gradle缓存的问题。

删除gradle缓存的文件,重新下载

我在stackoverflow上找到了一个一样的问题Error:Failed to open zip file. Gradle's dependency cache may be corrupt,它的解决方式是让我删除~/.gradle/wrapper/dists目录下的所有文件,然后重新打开ide,此时ide会重新下载gradle依赖。

经过尝试,这个方法对我无用,这说明我本地的gradle缓存是正确的,问题的根源在别的地方。

对比gradle配置

既然没办法,就只能出大招了,找一个正常的项目来和报错的项目进行对比。既然项目打开的时候就报错,那大概了是gradle配置的问题,所以我们关注点就在主要在gradle/wrapper/gradle-wrapper.properties文件里面,我们看下它们具体内容:

报错的项目:

#Wed Apr 12 10:05:56 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http://android.oa.com/gradle/gradle-4.7-all.zip

正确的项目:

#Thu Oct 17 10:01:43 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

对比之后发现,distributionUrl不一致,报错的项目配置的不是as项目自带的路径,所以我们把这个路径改成一致的,原有的版本号4.7保留,结果如下:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip

接着同步项目,发现同步成功了。这里需要说明的是,distributionUrl是用来下载gradle压缩包的,它可以更改成代理地址或者本地的缓存文件地址。这里报错项目的distributionUrl明显是修改为它们自己使用的代理了,所以我才会同步不成功。

参考

Error:Failed to open zip file. Gradle's dependency cache may be corrupt

相关文章
|
5月前
|
Java Maven 开发者
gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
57 0
|
6月前
Gradle项目加速构建
Gradle项目加速构建
416 0
|
7月前
|
Java Spring
使用Gradle创建SpringBoot项目
使用Gradle创建SpringBoot项目
511 0
|
6月前
|
Java API Maven
Gradle 自动化项目构建-Gradle 核心之 Project
Gradle 自动化项目构建-Gradle 核心之 Project
73 0
|
7月前
|
Java 测试技术 API
云效流水线构建gradle项目失败提示gradle版本过低如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
351 0
|
7月前
|
Java Maven 数据安全/隐私保护
Gradle笔记 三 Gradle的项目周期和settings 文件
Gradle笔记 三 Gradle的项目周期和settings 文件
96 0
Gradle笔记 三 Gradle的项目周期和settings 文件
|
7月前
|
开发工具 Android开发 开发者
Android 项目编译 Gradle 配置说明
Android 项目编译 Gradle 配置说明
357 0
|
7月前
|
前端开发 Java Maven
Gradle笔记 七 publishing 项目发布(二)
Gradle笔记 七 publishing 项目发布
288 0
|
7月前
|
Java Maven
Gradle笔记 七 publishing 项目发布(一)
Gradle笔记 七 publishing 项目发布
140 0
gradle运行项目不显示异常
gradle运行项目不显示异常
94 0