java – Gradle sync failed: Cause: error in opening zip file Corrupt Dependency Cache-ThrowExceptions

Exception or error:

I am new to Android Studio and just started learning through this online course ‘Developing Android Apps’ by Udacity..The problem is that the project which I am developing keeping in line with the course “Sunshine” is failing to sync properly.

This is the message displayed in event logs.

Gradle sync failed: Cause: error in opening zip file

Full description of logs:

**2017-03-04 08:14:32,358 [  61978]   WARN - nal.AbstractExternalSystemTask - Cause: error in opening zip file 
com.intellij.openapi.externalSystem.model.ExternalSystemException: Cause: **error in opening zip file**
    at com.android.tools.idea.gradle.project.sync.idea.ProjectImportErrorHandler.getUserFriendlyError(ProjectImportErrorHandler.java:86)
    at com.android.tools.idea.gradle.project.sync.idea.AndroidGradleProjectResolver.getUserFriendlyError(AndroidGradleProjectResolver.java:361)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:769)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:749)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:227)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:112)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:72)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.lambda$resolveProjectInfo$0(RemoteExternalSystemProjectResolverImpl.java:37)
    at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37)
    at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49)
    at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:51)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:138)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:124)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:415)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$5.run(ExternalSystemUtil.java:494)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:635)
    at com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:170)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:494)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:443)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:155)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:128)
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:307)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
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:219)
    at java.util.zip.ZipFile.<init>(ZipFile.java:149)
    at java.util.zip.ZipFile.<init>(ZipFile.java:163)
    at org.gradle.wrapper.Install.unzip(Install.java:214)
    at org.gradle.wrapper.Install.access$600(Install.java:27)
    at org.gradle.wrapper.Install$1.call(Install.java:74)
    at org.gradle.wrapper.Install$1.call(Install.java:48)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
    at org.gradle.wrapper.Install.createDist(Install.java:48)
    at org.gradle.tooling.internal.consumer.DistributionFactory$ZippedDistribution$1.call(DistributionFactory.java:139)
    at org.gradle.tooling.internal.consumer.DistributionFactory$ZippedDistribution$1.call(DistributionFactory.java:133)
    ... 4 more**

Can someone point me in the right direction on how to resolve this issue?

How to solve:

Simply delete the gradle folder from your home directory! i.e

~/<username>/.gradle/wrapper/dists/<gradle-name>

where gradle-name is the distribution you have to delete. Then open android studio and open the project to sync the gradle afresh.

###

Caused by: java.util.zip.ZipException: error in opening zip file

This mean that a file that Gradle has downloaded has become corrupted due to somehow or some reason. This might be the download of Gradle itself (which the wrapper does) or any dependency that Gradle has downloaded to run your build.

Gradle doesn’t attempt to detect or resolve the problem, so you need to fix it manually. The solution is often to purge Gradle’s download caches and let it get fresh copies of what it needs.


To do that, delete the .gradle directories in both your home directory and in your project’s root directory and try building again.

In your case home directory is

C:\Users\User\.gradle

###

The following is my solution.

  1. Manually download the file specified by distributionUrl which is defined in file $PROJECT/gradle/wrapper/gradle-wrapper.properties. In my case, the line looks like:

    distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-bin.zip
    
  2. Copy the downloaded file to the path specified in the aforementioned gradle-wrapper.properties file. In my case, the gradle-2.14.1-bin.zip should be put into the folder:

    ~/.gradle/wrapper/dists/gradle-2.14.1-bin/2r579t5wehc7ew5kc8vfqezww
    

    Since gradle has tried to download gradle-2.14.1-bin.zip but failed, it has a broken gradle-2.14.1-bin.zip in that folder. Simply replace the broken one with the manually downloaded.

  3. Go back to android studio and click on the hyperlinked error message. It should proceed to synchronize.

###

I had created a new project when this error came.
In the terminal :

cd /Users/<user>/.gradle/wrapper/dists
ls

Here I could see that Android studio was trying to download gradle-4.6-all while I already had gradle-4.10-all(this was working for me for earlier projects).
I removed the folder
rm -r gradle-4.6-all.

In my gradle-wrapper.properties file, I replaced distribution URL with distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip
Synched my project, and it worked.

###

~/<username>/.gradle/wrapper/dists/<gradle-name>

delete that gradle and install it again

###

Download gradle latest version from this link
https://services.gradle.org/distributions/
Extract files in your gradle directory
now go to android studio file>setting>build>exec deployment change default gradle location to to local gradle that you downloaded
click ok and rebuild project
that will fix

###

the problem is that android studio/gradle doesn’t have the permission to access the files in your project folder.
to correct this go to your project folder > properties > security > edit and select full control for your current user or all of them
editing users permissions

###

Experienced same error in IntelliJ Ultimate 2018 and 2019.

I fixed this issue by doing this :
Download gradle using brew:
brew install gradle
Then setup gradle settings like this and resync. Pay atention to Gradle Home:
enter image description here

###

This error causes due to the corrupt gradle file. All you have to do is simply delete the following folder and open Android Studio. It will automatically start downloading gradle file again and it will work fine.Delete the following folder

Leave a Reply

Your email address will not be published. Required fields are marked *