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

Posted

技术标签:

【中文标题】Android Studio 构建失败并出现异常任务“:app:dexDebug”执行失败【英文标题】:Android Studio Build failed with an exception Execution failed for task ':app:dexDebug' 【发布时间】:2015-06-04 11:00:21 【问题描述】:

控制台日志:

失败

FAILURE:构建失败并出现异常。

出了什么问题:任务 ':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'' 完成 非零退出值 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.Abs​​tractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) 在 org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) 在 org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor$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.access$200(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.execute(InProcessBuildActionExecuter.java:36) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(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.execute(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$IncrementalTask​​Action.doExecute(AnnotationProcessingTaskFactory.java:235) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTask​​Action.execute(AnnotationProcessingTaskFactory.java:222) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(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$this$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: Process '命令'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')
    

【问题讨论】:

发布你的 buid.gradle 【参考方案1】:

我找到了解决办法

改变一下

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


然后清理项目并重建

【讨论】:

我有同样的问题,我做了这个和 10 不同的事情我得到错误“本地路径不存在”。有什么想法吗? 你更新你的android sdk了吗?更新到最新版本 它成功了,结果我使用了超过 65k 个类(这是 android 的限制)。我不得不使用多索引。还是谢谢。 是否需要下载所有版本的sdk进行开发。假设您的最小 SDK 要求是 14,最大是最新的。有时 gradle 不与某些版本同步,“R.java”文件变得不可用。 Mayank 真的是对的!在 defaultConfig 的 build.gradle 文件中使用 multiDex 只需添加 multiDexEnabled true【参考方案2】:

我也有类似的问题。我取出每个罐子并一一检查,直到找到它。 基本上这个问题是由于jar文件而发生的。 所以,试试这个, 将你的 jar 文件一一放入依赖项并进行测试。您将轻松获得修复。

【讨论】:

【参考方案3】:
    进行项目清理。转到 Build->Clean Project 并重试 如果 (1) 不起作用,请关闭并重新启动编译器。 快速检查您的 Build.Grade 文件,确保只保留重要文件,并删除未使用的文件。 如果一切都失败了,请将“multiDexEnabled true”添加到您的应用级 Build.Gradle 文件中。

这样做:

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

    // Enabling multidex support.
    multiDexEnabled true

【讨论】:

以上是关于Android Studio 构建失败并出现异常任务“:app:dexDebug”执行失败的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 和 Gradle:“构建失败,出现异常。”

Android Studio 4.1更新后应用程序的Gradle构建错误

android studio 异常:Gradle 任务 assembleDebug 失败,退出代码为 1

Android Studio 构建失败,“在根项目‘MyProject’中找不到任务’。”

构建失败并出现异常 [Android SDK 平台 25]

FAILURE:构建失败并出现异常,Android资源编译失败