Android Studio:Gradle – 构build失败 – 任务执行失败':dexDebug'

错误:

Gradle: Execution failed for task ':vertretungsplan:dexDebug'. > Failed to run command: P:\Android-Studio\sdk\build-tools\18.0.1\dx.bat --dex --output P:\Projekte\VertretungsplanProject\vertretungsplan\build\libs\vertretungsplan-debug.dex P:\Projekte\VertretungsplanProject\vertretungsplan\build\classes\debug P:\Projekte\VertretungsplanProject\vertretungsplan\build\dependency-cache\debug P:\Android-Studio\sdk\extras\android\m2repository\com\android\support\support-v4\18.0.0\support-v4-18.0.0.jar P:\Projekte\VertretungsplanProject\vertretungsplan\libs\commons-io-2.4.jar P:\Projekte\VertretungsplanProject\vertretungsplan\build\exploded-bundles\VertretungsplanProjectLibrariesActionbarsherlockUnspecified.aar\classes.jar Error Code: 2 Output: trouble processing: bad class file magic (cafebabe) or version (0033.0000) ...while parsing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class ...while processing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class trouble processing: bad class file magic (cafebabe) or version (0033.0000) ...while parsing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class ...while processing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class trouble processing: bad class file magic (cafebabe) or version (0033.0000) ...while parsing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class ...while processing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class 3 warnings UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531) at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168) at com.android.dx.merge.DexMerger.merge(DexMerger.java:186) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300) at com.android.dx.command.dexer.Main.run(Main.java:232) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:91) 

项目结构:

在这里输入图像描述

build.gradle(actionbarsherlock)

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:18.0.0' } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 11 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } 

build.gradle(vertretungsplan)

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' dependencies { compile files('libs/commons-io-2.4.jar') compile project(':libraries:actionbarsherlock') } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 11 } } 

settings.gradle

 include ':vertretungsplan', ':libraries:actionbarsherlock' 

我该如何解决这个错误?

正确的答案是,你的一些jar文件不能编译。 你应该进入你的项目中的build.gradle文件,并查看你的依赖关系。

如果你只是导入一些jar文件,你可以尝试删除它们,并一次添加一个。 这将帮助您确定哪一个导致错误。

就我而言,我是这样做的,当我导入最后一个时,应用程序编译。 所以我认为真正的问题是我一次导入太多。 但现在一切正常。

我忽然遇到了同样的问题,没有什么值得注意的变化。

我通过删除app/build目录解决了这个问题,并让gradle构build了新的项目。

您必须检查是否再次input相同的JAR。 就我而言,在一个jar里面有一个类被另一个jar包导入。 所以只要检查在任何lib / class文件是否被包括在整个项目两次!

当我尝试在eclipse中使用Java JRE 1.8编译utils库jar时,我得到了同样的错误,并在Android Studio 1.1.0的/ libs /中使用它。

我有我的Android Studio设置为使用JDK1.8.0。

我把我的Eclipse切换到JRE 1.7工作,错误被修复了。 Eclipse:Window-> Preferences-> Java tab-> Compiler – > Compliance level 1.7。 它很可能会提示您将JRE系统库切换到jdk1.7.x_x。

您可能需要确保在导出时取消选中“压缩jar”。 我还没有testing过它是否有效果。 我怀疑这是相关的。

我也有同样的问题。 在我的情况下,重新启动后,问题开始。 我closures了我的应用程序,然后我closures了Android Studio(在我的情况V1.1.0),最后正常关机。 之后,我修改了一个java文件来添加一个RadioGroup对象,然后出现了这个问题。

我解决了我的问题,只是在我的Gradleconfiguration文件中更改'1'的简单'0',因为问题的根本原因是在Gradle执行过程中产生的。 以前我曾经有版本'1.0.0',然后我把它改为'1.1.0',如图片中所述。

Gradleconfiguration的位置改变了 Gradle配置的位置改变了

我从(文件 – >设置 – > Gradle – >实验 我从(文件 - >设置 - > Gradle  - >实验

问题不在于Execution failed for task ':dexDebug'

如果你看上面的红色显示的错误,你会看到这一点

在这里输入图像描述

要永久解决这个问题,只需在build.gradle文件中添加这些行build.gradle

 android { dexOptions { jumboMode = true } } 

进一步的细节检查这个问题: 在这里

确保您的AndroidManifest文件在清单节点中包含一个包名称。 设置包名解决了这个问题。

ANDROID STUDIO用户试试这个:

您需要将以下内容添加到您的gradle文件相关性中:

 compile 'com.android.support:multidex:1.0.0' 

然后将下面的行(multidex支持应用程序)添加到清单的application标记中:

 android:name="android.support.multidex.MultiDexApplication" 

可以通过添加解决这个问题

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

到vertretungsplan build.gradle中的依赖关系,编译然后删除这行并重新编译。

现在它工作

我有同样的问题,你应该这样做:

File -> Invalidate Caches / Restart

我有这个问题,因为我试图使用支持库和appcompat:

 dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile 'com.android.support:support-v4:23.1.0' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'com.google.android.gms:play-services:8.3.0' } 

我删除支持库并更改为旧版本后,编译:

 dependencies { compile fileTree(dir: 'libs', include: '*.jar') /*compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1'*/ compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:design:22.2.0' compile 'com.google.android.gms:play-services:8.3.0' } 

我有两个不兼容的依赖关系。

下面的依赖关系导致了错误。

 compile 'com.google.android.gms:play-services-fitness:8.3.0' compile 'com.google.android.gms:play-services-wearable:8.4.0' 

通过改变适应依赖到版本8.4.0我能够运行应用程序。

 compile 'com.google.android.gms:play-services-fitness:8.4.0' compile 'com.google.android.gms:play-services-wearable:8.4.0' 

我发现一个非常有趣的问题与Android Studio和微软升级到Web浏览器。 我“愚蠢”升级到ie的最新版本。 当然,微软以无限的智慧知道如何处理安全问题。 当我试图编译我的应用程序时,我不断收到错误Gradle – 构build失败 – 任务执行失败。 看在堆栈中,我看到它没有识别java.exe的path。 我发现这很奇怪,因为我前一天才能编译。 我将JAVA_HOME添加到了系统的环境variables中,closures了Android Studio并重新打开了它。 低看,如果防火墙唠叨屏幕没有popup询问我是否想要所有的jave.exe通过。

什么集群!

(这可能是错误的线程,因为你的问题似乎更具体,但这是我在search问题的关键字时发现的线索)

尽pipe所有好的提示,唯一帮助我,我想分享以防万一,如果一切都不起作用:

删除目录中的.gradle目录,并通过Android Studio为您重新构build/重新下载。

修复了各种奇怪的错误,通过重新安装Android Studio本身和SDK都无法修复。

从Eclipse IDE导入后,原因可能是重复的库。

 dependencies { compile 'com.github.japgolly.android:svg-android:2.0.5' compile 'com.google.android.gms:play-services:+' compile 'com.android.support:appcompat-v7:21.0.3' compile files('libs/androidannotations-api-2.7.1.jar') compile files('libs/androidasync-2.1.2.jar') //compile files('libs/google-play-services.jar') compile files('libs/universal-image-loader-1.8.2.jar')} 

我有同样的问题,评论后:

 //compile files('libs/google-play-services.jar') 

该应用程序没有错误。

我面临同样的问题。解决这个问题。 进入actionbarsherlock – >模块设置 – >依赖关系。取消支持v4库。在左下方有一个加号button,从那里添加1库依赖项(Select support-v4)。 让Gradle重新同步并清理一次完成的项目。

这里的许多答案都是试错法,以find重复的依赖关系,但是如果从Execution failed for task ':app:dexDebug'.只是稍微向上滚动一下Execution failed for task ':app:dexDebug'. 它会给你一个暗示重复

错误提示

在我的情况下,我有以下错误:

 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define L/com/parse/AbstractQueryController$1; ... ... ... Execution failed for task ':app:dexDebug'. 

所以我知道,为了解决这个错误,我需要find定义parse.AbstractQueryController的重复依赖关系

在我的情况下,我有两个导入的模块在两个不同的Parse库中加载。 让我的项目只加载一个固定我的问题。

当我的一个类文件中的包被拼写错误时,我也遇到了这个错误。 这些答案中的很多立即跳转到Jar文件,但我也会检查,以确保您的包拼写正确。

只需添加build.gradle

编译'com.parse.bolts:bolts-android:1. +'

编译'com.parse:parse-android:1.11.0'

并将项目与Gradle文件同步 在这里输入图像描述 但是不要在libs中添加parsingJAR 🙂 OKK

如果您也使用DaggerButterknife ,则应该将guava作为依赖项添加到您的build.gradle主文件(如classpath)中:

com.google.guava:guava:20.0

另一方面,如果您在Gradle守护进程中遇到radle问题,您可以增加添加到您的radle文件中:

  dexOptions { javaMaxHeapSize "4g" } 

在我的情况下,我做了Build > Clean Project ,它的工作!

使用Build in Menu Bar清理项目可用于Android Studio中的许多错误场景,所以在这种情况下也是如此。