0

我正在尝试使用 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 文件夹。重新启动后会发生同样的事情。

如果我尝试运行 a ./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

通过我文件中的 url 手动下载(从浏览器)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.lck在同一目录中有一个文件与gradle-1.12-all.zip.

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

4

1 回答 1

0

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

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

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

于 2014-08-26T02:49:49.710 回答