Nikhilesh Chaudhary
Nikhilesh Chaudhary

Reputation: 241

Gradle sync failed: Cause: error in opening zip file Corrupt Dependency Cache

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?

Upvotes: 24

Views: 47754

Answers (9)

Aneeb Afzal
Aneeb Afzal

Reputation: 51

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

Upvotes: 0

julianm
julianm

Reputation: 2711

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

Upvotes: 0

sheraz Ahmed
sheraz Ahmed

Reputation: 51

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

delete that gradle and install it again

Upvotes: 1

Ahmad A.A
Ahmad A.A

Reputation: 749

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.

Upvotes: 61

DISHA
DISHA

Reputation: 161

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.

Upvotes: 3

AAryan
AAryan

Reputation: 20140

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

Upvotes: 15

jhuai
jhuai

Reputation: 93

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.

Upvotes: 5

ironmann350
ironmann350

Reputation: 381

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

Upvotes: 0

Super apps
Super apps

Reputation: 1

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

Upvotes: 0

Related Questions