简体   繁体   English

Android Gradle产生一个TransformException:java.util.zip.ZipException:在transformClassesWithDexForRelease期间打开zip文件时出错

[英]Android Gradle produce a TransformException: java.util.zip.ZipException: error in opening zip file during transformClassesWithDexForRelease

I have a project in android studio for an Android application. 我在android studio中有一个Android应用程序的项目。 The project have 6 modules (3 internals libraries, one android app module, one wearable module and one module to share code between app and wearable), everything was working well until we decided to change the minimum android sdk for the app. 该项目有6个模块(3个内部库,1个Android应用程序模块,1个可穿戴模块和1个用于在应用程序和可穿戴设备之间共享代码的模块),一切运行良好,直到我们决定更改应用程序的最小android sdk。

It was originally compatible with 16+ and we want to make it 21+. 它最初与16+兼容,我们希望使它成为21+。 We tried changing only the minimum sdk, upgrading the minimum sdk and the compile sdk (to 23 and 24 or 21...) and even upgrading build tools (to 23 of 24) but nothing seems to be working... I managed to get it working "sometimes" when I enabled the gradle daemon for a reason I really don't understand but this is not really a good option for our build on CI. 我们尝试只更改最小sdk,升级最小sdk和编译sdk(到23和24或21 ......)甚至升级构建工具(到23中的23)但似乎没有任何工作...我设法当我启用gradle守护进程时出现“我有时”的工作原因我真的不明白,但这对于我们构建CI来说并不是一个很好的选择。

So in total despair I'm asking if anybody have a clue on what could be the problem... 所以完全绝望,我问是否有人知道可能是什么问题......

The error is com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file. 错误是com.android.build.api.transform.TransformException:java.util.zip.ZipException:打开zip文件时出错。 I never saw it when building but we also run "connectedAndroidTest" we seems to package every module and this error happens in random module and building with --info or --debug doesn't indicate which zip file opening result in an error... 我从来没有在构建时看到它但我们也运行“connectedAndroidTest”我们似乎打包每个模块并且这个错误发生在随机模块中并且使用--info或--debug构建并不表示哪个zip文件打开导致错误。 。

 1:Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':shared:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':common:messages:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
==============================================================================

3: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':common:upnp:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
==============================================================================

4: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':common:utils:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
==============================================================================

The complete stack: 完整的堆栈:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':common:utils:transformClassesWithDexForDebugAndroidTest'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
        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.lang.RuntimeException: com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file
        at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:54)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:57)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 71 more
Caused by: com.android.build.api.transform.TransformException: java.util.zip.ZipException: error in opening zip file
        at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:423)
        at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:178)
        at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:174)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55)
        ... 84 more
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 com.android.builder.core.AndroidBuilder.checkLibraryClassesJar(AndroidBuilder.java:1799)
        at com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1464)
        at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:406)
        ... 87 more

If the error is not on the gradle zip but on a jar itself, make sure your compileSdkVersion, buildToolsVersion and targetSdkVersion are coherent. 如果错误不在gradle zip上,而是在jar本身上,请确保compileSdkVersion,buildToolsVersion和targetSdkVersion是一致的。

If you still have the error, try building with a different version of the android gradle plugin, I was having a similar issue with com.android.tools.build:gradle:2.1.3 and it disappeared after upgrading to 2.2.0 如果你仍然有错误,尝试使用不同版本的android gradle插件构建,我在com.android.tools.build:gradle:2.1.3上遇到了类似的问题,升级到2.2.0后它就消失了

It was issue with download. 这是下载问题。 Download was interrupted and now it is not able to unzip partial download. 下载被中断,现在无法解压缩部分下载。 I went to the path ~.gradle\\wrapper\\dists\\gradle-4.1-all and deleted folder gradle-4.1-all and re run react-native run-android command. 我去了路径〜.gradle \\ wrapper \\ dists \\ gradle-4.1-all和删除文件夹gradle-4.1-all并重新运行react-native run-android命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 TransformException:Android Studio中的java.util.zip.ZipException - TransformException: java.util.zip.ZipException in Android Studio 线程“main”中的 react-native run-android 异常 java.util.zip.ZipException:打开 zip 文件时出错 - react-native run-android Exception in thread “main” java.util.zip.ZipException: error in opening zip file Android-Gradle-app:transformResourcesWithMergeJavaResForDebug java.util.zip.ZipException - Android - Gradle - app:transformResourcesWithMergeJavaResForDebug java.util.zip.ZipException Android应用程序无法生成带签名的apk,错误com.android.build.api.transform.TransformException:java.util.zip.ZipException: - Android App Unable to generate signed apk with error com.android.build.api.transform.TransformException: java.util.zip.ZipException: java.util.zip.ZipException Android Studio - java.util.zip.ZipException Android Studio app:transformClassesWithJarMergingForDebug,com.android.build.api.transform.TransformException:java.util.zip.ZipException: - app:transformClassesWithJarMergingForDebug, com.android.build.api.transform.TransformException: java.util.zip.ZipException: Android Studio 错误:java.util.zip.ZipException:zip 文件为空 - Android studio error: java.util.zip.ZipException: zip file is empty Android:ZipFile()java.util.zip.ZipException:文件太短而不能成为zip文件:0 - Android: ZipFile() java.util.zip.ZipException: File too short to be a zip file: 0 jarsigner错误:java.util.zip.ZipException:ZIP文件必须至少包含一个条目 - jarsigner error: java.util.zip.ZipException: ZIP file must have at least one entry Android Studio 3.1 gradle构建抛出java.util.zip.ZipException - Android Studio 3.1 gradle build throws java.util.zip.ZipException
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM