欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Studio报错 Cause: error in opening zip file解决方案

程序员文章站 2022-07-02 19:55:29
android studio报错 cause: error in opening zip file解决方案,今天把android studio升级到3.0后,在打开原来的一个项目时...

android studio报错 cause: error in opening zip file解决方案,今天把android studio升级到3.0后,在打开原来的一个项目时,该项目构建时,出现了以上的错误。

原来,我的project下的gradle文件夹下的wrapper文件夹下的gradle-wrapper.properties文件中,我设置的gradle的版本是gradle-3.3-all的,即如下:

distributionbase=gradle_user_home
distributionpath=wrapper/dists
zipstorebase=gradle_user_home
zipstorepath=wrapper/dists
distributionurl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

然后经过提示,3.0版本的studio告诉我,要用的gradle最小版本是4.1及以上的,因此,我下载了gradle-4.1-all-with-id.zip文件,并将其解压到我的c:\users\xxx\.gradle\wrapper\dists目录下,然后将gradle-wrapper.properties文件中的distributionurl的值改为:

distributionurl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

我本以为这样改完再次构建就能成功了,结果发现报了标题中提到的错误。按说我改完gradle-wrapper.properties文件中的gradle版本,它在构建的时候就会自动去我的c盘下的.gradle\wrapper\dists文件夹下的对应版本的gradle。然后看了网上的问题,有个答案是说把project下的.gradle文件夹和c盘下的.gradle文件夹都删掉。然后再次编译该工程,它就会自动下载gradle版本到.gradle文件夹下。想了下,国内这些网都被墙,要让它自动下载gradle咋可能呢。而且本来我的c:\users\xxx\.gradle\wrapper\dists目录下的gradle在以前其他项目下都是能用的。

因为c:\users\xxx\.gradle\wrapper\dists目录下原来我有好几个gradle版本包,有gradle-2.14-all、gradle-3.3-all还有今天刚放进去的gradle-4.1-all版本,于是我把其他两个都删了,只在c:\users\xxx\.gradle\wrapper\dists目录下保留了gradle-4.1-all版本。然后我再次编译这个project,结果,结果看到它竟然悄悄的在c:\users\xxx\.gradle\wrapper\dists目录下给我下载gradle-3.5-bin版本。至此,我就纳闷了。我的gradle-wrapper.properties文件中配的是4.1的版本,它怎么又会去给我下载3.5-bin呢,什么鬼?于是。我在想,可能是我在哪里把这个项目设置成gradle的默认版本就是3.5.其实问题也正是在这里。

好啦,扯了上面那么多,具体步骤其实就是;

1.把你的gradle-wrapper.properties文件中的gradle版本设置成4.1版本。

2.在c:\users\xxx\.gradle\wrapper\dists下放置gradle版本。

3.在设置里检查你的gradle是不是设成了其他版本,如果是,请改成4.1版本所在的位置。操作如下:

android studio中在file——>settings——>build,execution,deployment——>gradle中,将project-level settings选项下选择use local gradle distribution(未改之前我选的是use default gradle wrapper(recommend),可能是我以前选这个并设成了3.5-bin版本吧),并将其路径设置成你本地的gradle-4.1-all版本的路径,我的gradle-4.1-all在c:\users\xxx\.gradle\wrapper\dists下,这里要指定的路径要到gradle-4.1-all文件夹下的一长串id文件夹下的gradle-4.1文件夹.不然会提示路径选择错误。例如,我的是:

c:/users/xxx/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1
当然,选项中的 service directory path的也要是c:/users/baijie/.gradle(我的默认是这个)

经过以上的操作后,我再次编译该project,就没有报这个错了。希望对您有用。