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.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.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$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.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