【问题标题】:Android Studio 0.8.7: Error:Cause: error in opening zip fileAndroid Studio 0.8.7:错误:原因:打开 zip 文件时出错
【发布时间】:2014-08-24 00:01:54
【问题描述】:

我正在尝试使用 AS 0.8.6 导入一个新的 gradle Android 项目(也尝试过 0.8.7)。导入时出现以下错误

Error:Cause: error in opening zip file

根据我的研究,这很可能是下载 gradle 包装器的问题。

根据 SO (https://stackoverflow.com/a/23839694/413254) 上另一篇文章的建议,我已尝试删除 ~/.gradle 文件夹。重新启动后会发生同样的事情。

如果我尝试运行./gradlew clean,我会收到以下错误:

Downloading http://services.gradle.org/distributions/gradle-1.12-all.zip

Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Invalid Http response
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
    at org.gradle.wrapper.Install.createDist(Install.java:47)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.io.IOException: Invalid Http response
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1342)
    at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
    at org.gradle.wrapper.Download.download(Download.java:45)
    at org.gradle.wrapper.Install$1.call(Install.java:60)
    at org.gradle.wrapper.Install$1.call(Install.java:47)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
    ... 3 more

通过我的gradle/wrapper/gradle-wrapper.properties 文件中的网址手动(从浏览器)下载不会给我带来任何问题。

distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

编辑:

在尝试下载失败后执行./gradlew clean 时,我还会看到以下内容

Unzipping /Users/user/.gradle/wrapper/dists/gradle-1.12-all/2apkk7d25miauqf1pdjp1bm0uo/gradle-1.12-all.zip to /Users/user/.gradle/wrapper/dists/gradle-1.12-all/2apkk7d25miauqf1pdjp1bm0uo
Exception in thread "main" java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
    at org.gradle.wrapper.Install.createDist(Install.java:47)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:215)
    at java.util.zip.ZipFile.<init>(ZipFile.java:145)
    at java.util.zip.ZipFile.<init>(ZipFile.java:159)
    at org.gradle.wrapper.Install.unzip(Install.java:160)
    at org.gradle.wrapper.Install.access$400(Install.java:29)
    at org.gradle.wrapper.Install$1.call(Install.java:70)
    at org.gradle.wrapper.Install$1.call(Install.java:47)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
    ... 3 more

我不确定它是否相关,但在与gradle-1.12-all.zip 相同的目录中有一个gradle-1.12-all.zip.lck 文件。

尝试解压缩 zip 文件会生成一个 cpgz 文件...它会变回 zip 文件。根据http://osxdaily.com/2013/02/13/open-zip-cpgz-file/,这通常表示下载损坏。

【问题讨论】:

  • 我也尝试创建一个新项目并重新安装Android Studio
  • 会不会是代理或网络问题影响了下载?
  • 鉴于这种情况,这似乎是一种可能性,但我没有对我的家庭网络做任何特别的事情。是否有我应该调整的默认 Java 安全设置?我可以在同一网络上的另一台机器上运行一切正常。
  • 看起来下载每次都会损坏。任何想法为什么?

标签: android android-studio gradlew


【解决方案1】:

我将gradle-wrapper.properties 文件中的distributionUrl 更改为以下内容(注意https 而不是普通的旧http

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

它对我有用。我想这是一个安全问题……但不确定是什么阻止了它。如果有人能解释为什么会这样,我仍然会喜欢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多