Android Studio: Gradle-la construction échoue-L'exécution échoue pour la tâche': dexDebug'

erreur:

Gradle: Execution failed for task ':vertretungsplan:dexDebug'.
> Failed to run command:
    P:Android-Studiosdkbuild-tools.0.1dx.bat --dex --output P:ProjekteVertretungsplanProjectvertretungsplanbuildlibsvertretungsplan-debug.dex P:ProjekteVertretungsplanProjectvertretungsplanbuildclassesdebug P:ProjekteVertretungsplanProjectvertretungsplanbuilddependency-cachedebug P:Android-Studiosdkextrasandroidm2repositorycomandroidsupportsupport-v4.0.0support-v4-18.0.0.jar P:ProjekteVertretungsplanProjectvertretungsplanlibscommons-io-2.4.jar P:ProjekteVertretungsplanProjectvertretungsplanbuildexploded-bundlesVertretungsplanProjectLibrariesActionbarsherlockUnspecified.aarclasses.jar
Error Code:
    2
Output:
    trouble processing:
    bad class file magic (cafebabe) or version (0033.0000)
    ...while parsing de/MayerhoferSimon/Vertretungsplan/LoginActivity.class
    ...while processing de/MayerhoferSimon/Vertretungsplan/LoginActivity.class
    trouble processing:
    bad class file magic (cafebabe) or version (0033.0000)
    ...while parsing de/MayerhoferSimon/Vertretungsplan/MainActivity.class
    ...while processing de/MayerhoferSimon/Vertretungsplan/MainActivity.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

"1519130920 de construire".Grad (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']
        }
    }
}

"1519130920 de construire".Grad (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
    }
}

paramètres.Grad

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

Comment puis-je corriger cette erreur?

80
demandé sur Jonik 2013-08-02 20:29:21

22 réponses

la bonne réponse est que certains de vos fichiers jar ne sont pas compilés. Tu devrais entrer dans ta construction.classez le fichier dans votre projet, et regardez dans vos dépendances.

si vous importez des fichiers jar, vous pouvez essayer de les supprimer et de les ajouter un à la fois. Cela vous aidera à déterminer lequel d'entre eux provoque l'erreur.

dans mon cas, c'est exactement ce que j'ai fait, et quand j'ai importé le dernier, l'application a été compilée. Donc je pense que le vrai le problème, c'est que j'en importais trop à la fois. Mais maintenant tout cela fonctionne.

88
répondu Friis1978 2015-04-28 19:46:05

j'ai soudainement eu le même problème, après aucun changement notable.

Je l'ai résolu en supprimant le répertoire app/build et en laissant gradle construire tout le projet nouveau.

66
répondu ironmouse 2015-05-10 15:04:16

vous devez vérifier si le même pot est importé de nouveau. Dans mon cas, il y avait une classe dans un pot qui se faisait importer dans un autre pot. Il suffit donc de vérifier si le fichier lib / class est inclus deux fois dans l'ensemble du projet!

16
répondu user2899493 2013-10-20 06:38:55

j'ai eu le même genre d'erreur quand j'ai essayé de compiler un bocal de bibliothèque utils dans eclipse en utilisant Java JRE 1.8, et l'utiliser dans mon /libs/ dans Android Studio 1.1.0.

j'ai utilisé jdk1 pour mon studio Android.8.0.

j'ai commuté mon Eclipse pour travailler avec JRE 1.7, et l'erreur a été corrigée. Eclipse: Fenêtre->Préférences->onglet Java->Compiler -> niveau de Conformité 1.7. Cela vous incitera très probablement à basculer votre bibliothèque système JRE vers jdk1.7.x_x.

Vous devez assurez-vous de décocher "comprimer pot' lorsque vous exportez. Je n'ai pas vérifié si ça avait un effet ou non. Je doute qu'elle était liée.

4
répondu RW4 2015-03-12 17:32:31

j'ai eu le même problème aussi. Dans mon cas, le problème a commencé après un redémarrage. J'ai fermé mon application, puis J'ai fermé le studio Android (dans mon cas V1.1.0), et enfin un arrêt normal. Après cela, j'ai modifié un fichier java pour ajouter un objet RadioGroup et le problème est apparu.

j'ai résolu mon problème en changeant un simple " 0 "pour un" 1 " dans mon fichier de configuration Gradle, parce que la cause fondamentale du problème a été générée lors du processus d'exécution Gradle. Auparavant, j'avais la version '1.0.0' puis je l'ai changée en '1.1.0', comme indiqué sur les photos.

emplacement de la configuration du Grad a changé Location of the Gradle configuration a changed

lieu où j'ai pris la bonne version de (fichier -> paramètres - > Grad - > Expérimental Location where I took the right version from (File - Settings - Gradle - Experimental

4
répondu RunningWheels 2015-03-25 21:25:39

le problème ne concerne pas Execution failed for task ':dexDebug'

si vous regardez au-dessus de l'erreur en rouge vous allez voir ce

enter image description here

pour résoudre ce problème en permanence il suffit d'ajouter ces lignes dans votre build.gradle fichier

android {
    dexOptions {
        jumboMode = true
    }
}

pour plus de détails, voir la question: ici

4
répondu Sabri Meviş 2017-05-23 12:10:21

assurez-vous que votre fichier AndroidManifest contient un nom de paquet dans le noeud manifeste. Définir un nom de paquet a réglé ce problème pour moi.

3
répondu user1743999 2014-01-10 13:56:15

utilisateurs de studio ANDROID essayez ceci: -

vous devez ajouter ce qui suit à vos dépendances de fichier gradle:

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

, puis Ajouter sous la ligne (demande de soutien multidex ) l'étiquette application de votre manifeste:

android:name="android.support.multidex.MultiDexApplication"
3
répondu kumar kundan 2015-11-08 10:28:20

pourrait corriger cela en ajoutant

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

aux dépendances de la construction vertretungsplan.Grad, compilez, puis supprimez cette ligne et compilez à nouveau.

maintenant, il fonctionne

2
répondu maysi 2013-08-03 01:19:25

j'ai eu le même problème, il faut faire:

File -> Invalidate Caches / Restart

1
répondu mac229 2015-10-22 13:25:30

j'ai eu ce problème parce que j'ai essayé d'utiliser à la fois la bibliothèque de soutien et 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'
}

après que j'ai supprimé la bibliothèque de soutien et changé à la version plus ancienne, il a compilé:

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'
}
1
répondu wzbozon 2015-11-18 11:11:31

j'avais deux dépendances incompatibles.

les dépendances ci-dessous ont causé l'erreur.

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

en changeant la dépendance fitness à la version 8.4.0 j'ai pu lancer l'application.

compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'
1
répondu bradley4 2016-01-21 04:32:56

j'ai trouvé un problème très intéressant avec Android Studio et la mise à niveau de mircrosoft pour le navigateur web. J'ai mis à jour "stupidement" à la dernière version d'ie. bien sûr Microsoft dans leur infinie sagesse sait exactement quoi faire avec la sécurité. Quand j'ai essayé de compiler mon application, j'ai continué à avoir l'erreur Gradle - build fails -- Execution failed for task. en regardant dans la pile, j'ai vu qu'elle ne reconnaissait pas le chemin vers java.EXE. J'ai trouvé ça bizarre car j'ai pu compiler le jour avant. J'ai ajouté JAVA_HOME à l'envvars pour le système, fermé Android Studio et l'ai rouvert. Bas et voici si l'écran de canular de mur de feu n'a pas pop demandant si je voulais tout jave.exe à travers.

quel amas!

0
répondu user3763372 2014-06-21 17:40:01

(ce pourrait être le mauvais fil, car votre problème semble plus spécifique, mais c'est le fil que j'ai trouvé en cherchant les mots-clés de la question)

malgré tous les bons conseils, la seule chose qui m'a aidé, et que je voudrais partager au cas où, si tout le reste ne fonctionne pas:

supprimer votre .gradle répertoire dans votre répertoire personnel et l'avoir re-construire/re-téléchargé pour vous par Android Studio.

a corrigé toutes sortes d'erreurs bizarres pour moi qui n'étaient pas réparables en réinstallant Android Studio lui-même ou le SDK.

0
répondu user2400553 2015-01-27 14:09:07

une raison peut être dupliquée bibliothèques après importation de L'IDE Eclipse.

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')}

j'ai eu le même problème, après commentaire:

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

l'application ne reçoit aucune erreur.

0
répondu bheatcoker 2015-04-08 13:43:02

j'ai fait face à la même question .Résolu en faisant cela . Allez à actionbarsherlock - > paramètres du module - > dépendances .Supprimer la bibliothèque V4 de soutien .En bas à gauche il y a un bouton plus , À partir de là ajouter 1 dépendance de bibliothèque (sélectionnez support-v4) . Laissez le grader resync et le projet clean une fois fait .

0
répondu Starksky 2015-06-07 15:43:33

beaucoup de réponses ici sont des essais et des erreurs pour trouver des dépendances dupliquées mais si vous faites défiler juste un peu plus haut de la ligne Execution failed for task ':app:dexDebug'. il vous donnera un indice aux 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;
...
...
...
Execution failed for task ':app:dexDebug'.

donc je savais que pour corriger ce bug j'avais besoin de trouver les dépendances dupliquées qui définissent parse.AbstractQueryController

dans mon cas, j'avais deux modules importés qui chargeaient dans deux bibliothèques Parse différentes. Le fait de ne charger mon projet qu'un seul a réglé mon problème.

0
répondu Max Worg 2015-10-04 23:52:48

j'ai également rencontré cette erreur lorsque le paquet dans un de mes fichiers de classe était mal orthographié. Beaucoup de ces réponses passent immédiatement aux fichiers Jar, mais je vérifierais aussi pour m'assurer que vos paquets sont correctement épelés.

0
répondu nbroeking 2015-11-02 16:20:07

il suffit d'ajouter build.Grad

compiler", com.analyser.boulons: boulons-android: 1.+ '

compiler", com.analyser:analyser-android:1.11.0'

et synchroniser le projet avec les fichiers Gradle enter image description here Mais N'ajoutez pas le pot de parse en libs:) OKK

0
répondu Mourad MAMASSI 2015-12-25 23:22:44

si vous utilisez aussi Dagger ou Butterknife vous devez ajouter guava comme 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 le plus grand tas pour le démon Gradle, vous pouvez augmenter l'ajout à votre radle fichier:

 dexOptions {
        javaMaxHeapSize "4g"
    } 
0
répondu Francisco Durdin Garcia 2017-03-09 15:21:09

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

0
répondu Chintan Shah 2017-08-18 06:15:05

nettoyage du projet à L'aide de construire dans la barre de Menu fonctionne pour de nombreux scénarios d'erreur dans Android Studio et il le fait dans ce cas.

-1
répondu code4salvation 2016-04-01 16:05:18