Android Studio - 执行':app:transformClassesWithDexForDebug'任务失败 - java.exe以非零退出值2结束

8

最近我的十个构建中有九个都失败了,出现了以下异常。我尝试清理和重建项目,但没有用。我已经到处搜索并尝试了其他类似问题的解决方案 - 但仍然无济于事。我的Android Studio版本是2.0 Beta 5,Gradle也是2.0.0-beta5。这是我收到的异常:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithDexForDebug'.
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:64)
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.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
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 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 14 more
Caused by: com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:424)
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)
... 23 more
Caused by: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:119)
at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:364)
... 26 more
Caused by: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
at com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1443)
at com.android.builder.core.AndroidBuilder.preDexLibraryNoCache(AndroidBuilder.java:1633)
at com.android.builder.internal.compiler.PreDexCache.preDexLibrary(PreDexCache.java:119)
at com.android.builder.core.AndroidBuilder.preDexLibrary(AndroidBuilder.java:1588)
at com.android.build.gradle.internal.transforms.DexTransform$PreDexTask.call(DexTransform.java:474)
at com.android.build.gradle.internal.transforms.DexTransform$PreDexTask.call(DexTransform.java:428)
Caused by: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
at com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1427)
... 5 more
Caused by: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:43)
at com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1435)
at com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1427)
Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:367)
at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:41)
... 2 more


BUILD FAILED

Total time: 16.043 secs

请问有人能提供任何线索吗?

编辑:大多数类似的问题都有答案表明存在冲突的依赖关系,因此这是我的依赖树。我没有看到任何冲突。有问题吗?

+--- com.android.support:multidex:1.0.1
+--- com.android.support:appcompat-v7:23.1.1
|    \--- com.android.support:support-v4:23.1.1
|         \--- com.android.support:support-annotations:23.1.1
+--- com.android.support:cardview-v7:23.1.1
+--- project :circularreveal      
|    \--- com.nineoldandroids:library:2.4.0
\--- project :ColorPickerPreference
3个回答

2
升级到Java 1.8版本,这个问题应该就会消失了。我不知道是什么导致了 java.util.concurrent.ExecutionException ,但我升级到Java 1.8后,问题总是得到解决。

java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'


升级了,仍然没有帮助。 - RufusInZen
经过一些研究,我发现你遇到的异常与我过去遇到的不同。首先运行 gradle clean,然后尝试以以下方式运行任务:gradle <task> --no-daemon --max-workers=1 --rerun-tasks -S -i --recompile-scripts,将<task>替换为你的任务名称。 - Michael Hobbs
我将通过该命令实现什么目标?它是用来解决问题还是获取更多关于错误的信息? - RufusInZen
你关闭了很多Gradle的优化,这可能会解决你的问题。其次,你告诉它清理并重新运行所有东西,这可能会清除一些坏缓存。第三,使用--info将使Gradle告诉你它所采取的每一个动作。它会提供大量信息,但是在不利的一面上,它可能很难使用,但希望它足以告诉你哪个子任务失败了,从而导致“:app:transformClassesWithDexForDebug”任务失败。编辑:-i与--info相同。 - Michael Hobbs
尝试了相同的方法,但并没有成功。在运行 connectedAndroidTest 任务时出现了完全相同的错误。Gradle 2.11,gradle 插件 beta6。当进行 play-services-base 的 dexing 时抛出异常。 - marius bardan
显示剩余3条评论

1

我之前遇到了同样的异常,但在进行项目清理(Build->Clean Project)后问题得以解决。建议您也尝试一下。


1

在编译我的项目时,可能是由于可用RAM较少而导致的问题。一旦我释放了内存,问题就自动解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接