我正在尝试使用 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/,这通常表示下载损坏。