【问题标题】:ZipException during project build项目构建期间出现 ZipException
【发布时间】:2019-09-09 22:33:37
【问题描述】:

我正在更新 3.4 版的 Android Studio 和插件(5.1.1 版的 gradle)当我尝试构建项目时,我收到一个错误

java.util.zip.ZipException: zip 文件为空

我下载了 gradle-5.1.1-all.zip 并尝试替换现有但没有成功。

任何想法是什么导致了这个错误?

日志

    Caused by: org.gradle.api.tasks.TaskExecutionException: Execution     failed for task ':app:transformClassesWithDexBuilderForDevDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:95)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119)
    at org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93)

    *****

    ... 6 more
Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.util.zip.ZipException: zip file is empty
    at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)
    at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    *****

Caused by: com.android.build.api.transform.TransformException: java.util.zip.ZipException: zip file is empty
    at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:442)
    at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
    at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
    ... 77 more
Caused by: java.util.zip.ZipException: zip file is empty
    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:273)
    at com.android.tools.r8.ArchiveClassFileProvider.<init>(ArchiveClassFileProvider.java:63)
    at com.android.tools.r8.ArchiveClassFileProvider.<init>(ArchiveClassFileProvider.java:50)
    at com.android.builder.dexing.r8.CachingArchiveClassFileProvider.<init>(CachingArchiveClassFileProvider.java:32)
    at com.android.builder.dexing.r8.ClassFileProviderFactory.createProvider(ClassFileProviderFactory.java:123)
    at com.android.builder.dexing.r8.ClassFileProviderFactory.<init>(ClassFileProviderFactory.java:93)
    at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:363)

构建工具 28.0.3

【问题讨论】:

  • 这对我来说似乎是一个中断的下载错误。您可以尝试从系统中删除~.gradle 文件夹吗?
  • 我也试过了。同样的情况

标签: android gradle android-gradle-plugin build.gradle android-build


【解决方案1】:

此问题的原因之一是decommissioning of HTTP services by Gradle。这意味着如果您的 [PROJECT_PATH]/gradle/wrapper/gradle-wrapper.properties 文件有如下条目:

distributionUrl=http\://services.gradle.org/distributions/gradle-{version}.zip

... 那么这个条目将尝试从一个不再可以通过http 访问的服务中检索一个ZIP 文件,它会默默地返回一个空的ZIP 文件;因此,这将是任何尝试解压缩该空 ZIP 文件的进程的错误来源。

要解决此问题,只需将您的[PROJECT_PATH]/gradle/wrapper/gradle-wrapper.properties 文件更改为使其distributionUrl 条目使用https

distributionUrl=https\://services.gradle.org/distributions/gradle-{version}.zip

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    尝试重新创建一个 gradle 包装器。在我看来,您使用的是旧版本。 我以同样的方式解决了同样的问题。

    【讨论】:

      【解决方案3】:

      这听起来像是您的 JDK 未正确安装(可能在更新时)或未正确链接到您更新后的 Android Studio IDE 中的构建的问题。

      首先确保在 Android Studio 中 JDK 设置正确,然后再回到 JDK 本身。尝试在您的机器上重新安装 JDK。

      【讨论】:

      • JDK 安装正确。另一个项目完全构建
      猜你喜欢
      • 2023-03-21
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2019-03-27
      • 1970-01-01
      • 2020-07-19
      相关资源
      最近更新 更多