Android Studio 构建失败,任务“:app:dexDebug”出现异常执行失败

Android Studio Build failed with an exception Execution failed for task ':app:dexDebug'

控制台日志:

FAILED

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':app:dexDebug'.

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0\bin\java.exe'' finished with non-zero exit value 2

  • 尝试:运行 使用 --info 或 --debug 选项以获得更多日志输出。

  • 异常是:org.gradle.api.tasks.TaskExecutionException:任务“:app:dexDebug”执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 在 org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 在 org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 在 org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) 在 org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 在 org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 在 org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 在 org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305) 在 org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) 在 org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) 在 org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) 在 org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88) 在 org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62) 在 org.gradle.execution.DefaultBuildExecuter.access200 美元(DefaultBuildExecuter.java:23) 在 org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68) 在 org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55) 在 org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149) 在 org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) 在 org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80) 在 org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:43) 在 org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:30) 在 org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:119) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.执行(InProcessBuildActionExecuter.java:36) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.执行(InProcessBuildActionExecuter.java:26) 在 org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69) 在 org.gradle.util.Swapper.swap(Swapper.java:38) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput.执行(ForwardClientInput.java:69) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46) 在 org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) 在 org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 原因:org.gradle.internal.UncheckedException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: 处理'命令 'C:\Program Files (x86)\Java\jdk1.8.0\bin\java.exe'' 完成 非零退出值 2 在 org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39) 在 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:66) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute动作(ExecuteActionsTaskExecuter.java:80) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) ... 55 更多 原因: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: 处理'命令 'C:\Program Files (x86)\Java\jdk1.8.0\bin\java.exe'' 完成 非零退出值 2 在 com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:42) 在 com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1193) 在 com.android.builder.core.AndroidBuilder$convertByteCode$0.call(未知 源)在 com.android.build.gradle.tasks.Dex.doTaskAction(Dex.groovy:151) 在 com.android.build.gradle.tasks.Dex.this$5$doTaskAction(Dex.groovy) 在 com.android.build.gradle.tasks.Dex$这$5$doTaskAction.callCurrent(未知 源)在 com.android.build.gradle.tasks.Dex.taskAction(Dex.groovy:90) 在 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) ... 还有 61 个原因:org.gradle.process.internal.ExecException:进程 '命令 'C:\Program Files (x86)\Java\jdk1.8.0\bin\java.exe'' 完成 非零退出值 2 在 org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:365) 在 com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:40) ... 还有 68 个

build.gradle 文件:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "com.appdomain.appname"
        minSdkVersion 15
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    }

    dependencies {
        compile 'com.android.support:support-v4:19.1.+'
        compile 'com.google.guava:guava:10.0.1'
        compile 'com.google.android.gms:play-services:+'
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile files('libs/gdata-client-1.0.jar')
        compile files('libs/gdata-client-meta-1.0.jar')
        compile files('libs/gdata-contacts-3.0.jar')
        compile files('libs/gdata-contacts-meta-3.0.jar')
        compile files('libs/gdata-core-1.0.jar')
        compile files('libs/libGoogleAnalyticsServices.jar')
        compile files('libs/mpandroidchartlibrary-1-7-4.jar')
        compile files('libs/recyclerview.jar')
    }

我找到了解决方案

只是改变

compile 'com.android.support:support-v4:19.1.+'

compile 'com.android.support:support-v4:22.0.0'

也改

compile 'com.android.support:appcompat-v7:21.0.3'

compile 'com.android.support:appcompat-v7:22.0.0'

并在 build.gradle 文件中使用 Multi-dex 属性,如下所示:

defaultConfig {
    applicationId "com.sendpulse.sendpulse"
    minSdkVersion 15
    targetSdkVersion 21
    multiDexEnabled true

}

然后清理项目并重建

我也遇到了类似的问题。我把每个罐子都拿出来,一个一个地检查,直到找到。
基本上这个问题是由于 jar 文件而发生的。 所以,试试这个, 将您的 jar 文件一个一个地放入依赖项中,test.You 将轻松获得修复。

  1. 进行项目清理。转到 Build->Clean Project 并重试
  2. 如果 (1) 不起作用,请关闭并重新启动编译器。
  3. 快速检查一下您的 Build.Grade 文件,确保只保留重要文件,并删除不用的文件。
  4. 如果其他所有方法都失败,请将 "multiDexEnabled true" 添加到您的应用级 Build.Gradle 文件。

这样做:

defaultConfig {
    applicationId "com.yourcompanyname.yourappname"
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

    // Enabling multidex support.
    multiDexEnabled true
}