我正在尝试使用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.lck
的同一目录中有一个gradle-1.12-all.zip
文件。
尝试解压缩zip会产生一个cpgz文件...它会变回拉链。根据{{3}},这通常表示下载损坏。
答案 0 :(得分:0)
我将distributionUrl
文件中的gradle-wrapper.properties
更改为以下内容(请注意https
而不是普通的http
:
distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-all.zip
它对我有用。我想这是一个安全问题......不知道是什么阻止了它。如果有人解释为什么会这样,那么仍然会喜欢。