美文网首页
WeChatOpenSdkSample项目无法打开,报Gradl

WeChatOpenSdkSample项目无法打开,报Gradl

作者: tinyvampirepudg | 来源:发表于2020-03-11 11:31 被阅读0次

    在集成微信功能的过程中,在打开微信的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

    相关文章

      网友评论

          本文标题:WeChatOpenSdkSample项目无法打开,报Gradl

          本文链接:https://www.haomeiwen.com/subject/qsjqjhtx.html