84 votes

Android Studio : Gradle - build fails -- Execution failed for task ':dexDebug' (Échec de l'exécution de la tâche ':dexDebug')

Erreur :

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)

Structure du projet :

enter image description here

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 (plan de vérification)

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'

Comment puis-je corriger cette erreur ?

0voto

Chintan Shah Points 744

Dans mon cas, j'ai fait Build > Clean Project et ça a marché !

0voto

Max Worg Points 2824

La plupart des réponses ici sont des essais et des erreurs pour trouver les dépendances dupliquées, mais si vous faites défiler la page un peu plus haut, à partir de la rubrique Execution failed for task ':app:dexDebug'. cela vous donnera un indice sur les duplications.

error with a hint .

Dans mon cas, j'ai eu l'erreur suivante :

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

Je savais donc que pour corriger ce bogue, je devais trouver les dépendances dupliquées qui définissent la fonction parse.AbstractQueryController

Dans mon cas, j'avais deux modules importés qui se chargeaient dans deux bibliothèques Parse différentes. Faire en sorte que mon projet n'en charge qu'un seul a permis de résoudre le problème.

0voto

nbroeking Points 1498

J'ai également rencontré cette erreur lorsque le paquetage d'un de mes fichiers de classe était mal orthographié. La plupart de ces réponses renvoient immédiatement aux fichiers Jar, mais je vérifierais également que vos paquets sont correctement orthographiés.

0voto

Mourad MAMASSI Points 446

Il suffit d'ajouter dans build.gradle

compile 'com.parse.bolts:bolts-Android:1.+'

compile 'com.parse:parse-Android:1.11.0'

et synchroniser le projet avec les fichiers Gradle enter image description here Mais n'ajoutez pas le parse Jar dans les librairies :) OKK

0voto

Si vous utilisez également Dagger o Butterknife vous devez ajouter guava en tant que dépendance à votre build.gradle fichier principal comme classpath :

com.google.guava:guava:20.0

D'autre part, si vous avez des problèmes avec un tas plus grand pour le démon Gradle, vous pouvez augmenter l'ajout à votre fichier radle fichier :

 dexOptions {
        javaMaxHeapSize "4g"
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X