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:
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'
Comment puis-je réparer cette erreur?
La bonne réponse est que certains de vos fichiers jar ne sont pas compilés. Vous devriez aller dans votre fichier build.gradle dans votre projet et regarder dans vos dépendances.
Si vous importez seulement des fichiers jar, vous pouvez essayer de les supprimer et de les ajouter un à un. Cela vous aidera à déterminer lequel d'entre eux est à l'origine de l'erreur.
Dans mon cas, je viens de le faire, et lorsque j'ai importé le dernier, l'application compilée. Je pense donc que le vrai problème était que j'en importais trop à la fois. Mais maintenant tout fonctionne.
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 le projet dans son intégralité.
Vous devez vérifier si le même fichier JAR est à nouveau importé. Dans mon cas, il y avait une classe dans un bocal qui était importée dans un autre bocal. Il suffit donc de vérifier si le fichier any/lib est inclus deux fois dans l’ensemble du projet!
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 le studio Android (dans mon cas, la version 1.1.0), et enfin un arrêt normal. Après cela, j'ai modifié un fichier Java pour ajouter un objet RadioGroup, puis le problème est apparu.
J'ai résolu mon problème en ne changeant qu'un simple "0" pour un "1" dans mon fichier de configuration Gradle, car la cause première du problème avait été générée lors du processus d'exécution de Gradle. Auparavant, j'avais la version '1.0.0', puis je l'ai changée en '1.1.0', comme indiqué dans les images.
Emplacement de la configuration de Gradle modifié
Lieu où j'ai pris la bonne version (Fichier -> Paramètres -> Gradle -> Expérimental
J'ai eu le même type d'erreur lorsque j'ai essayé de compiler un fichier jar de bibliothèque utils dans Eclipse en utilisant Java JRE 1.8, et de l'utiliser dans mon/libs/in Android Studio 1.1.0.
J'avais mon Android Studio configuré pour utiliser JDK1.8.0.
J'ai changé mon Eclipse pour travailler avec JRE 1.7, et l'erreur a été corrigée. Eclipse: Fenêtre-> Préférences-> Onglet Java-> Compilateur -> Niveau de conformité 1.7. Il vous invitera probablement à passer de votre bibliothèque système JRE à jdk1.7.x_x.
Vous devrez peut-être vous assurer de décocher 'Compresser le fichier' lors de l'exportation. Je n'ai pas vérifié si cela avait un effet ou non. Je doute que c'était lié.
Le problème ne concerne PAS Execution failed for task ':dexDebug'
si vous regardez au-dessus de l'erreur montrée en rouge, vous allez voir cette
Pour résoudre ce problème de façon permanente, ajoutez ces lignes dans votre fichier build.gradle
Android {
dexOptions {
jumboMode = true
}
}
Pour plus de détails, consultez cette question: here
tilisateurs de Android STUDIO essayez ceci: -
Vous devez ajouter les éléments suivants à vos dépendances de fichiers Gradle:
compile 'com.Android.support:multidex:1.0.0'
Ajoutez ensuite la ligne ci-dessous (application de support multidex) à la balise application
de votre manifeste:
Android:name="Android.support.multidex.MultiDexApplication"
Assurez-vous que votre fichier AndroidManifest contient un nom de package dans le nœud du manifeste. Définir un nom de paquet a résolu ce problème pour moi.
Pourrait résoudre ce problème en ajoutant
compile 'com.Android.support:support-v4:18.0.0'
pour les dépendances dans le vertretungsplan build.gradle, compilez puis supprimez cette ligne et compilez à nouveau.
maintenant ça marche
J'ai eu ce problème parce que j'ai essayé d'utiliser à la fois la bibliothèque de support 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 avoir supprimé la bibliothèque de support et remplacé par une 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'
}
J'ai eu le même problème, vous devriez faire:
File -> Invalidate Caches / Restart
J'ai eu deux dépendances incompatibles.
Les dépendances ci-dessous ont provoqué 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 de fitness à la version 8.4.0, j'ai pu exécuter l'application.
compile 'com.google.Android.gms:play-services-fitness:8.4.0'
compile 'com.google.Android.gms:play-services-wearable:8.4.0'
J'ai fait face au même problème. Résolu en faisant cela. Allez à actionbarsherlock -> Paramètres du module -> Dépendances .Retirez la bibliothèque de support v4. En bas à gauche, il y a un bouton plus, à partir de là, ajoutez 1 dépendance de bibliothèque (sélectionnez support-v4). Laissez le programme resynchroniser et nettoyer le projet une fois terminé.
Si vous utilisez également Dagger
ou Butterknife
, vous devez ajouter la goyave comme dépendance à votre fichier principal build.gradle
comme classpath:
com.google.guava:guava:20.0
D'autre part, si vous rencontrez des problèmes avec un plus gros tas pour le démon Gradle, vous pouvez augmenter l'ajout à votre fichier radle
:
dexOptions {
javaMaxHeapSize "4g"
}
La plupart des réponses fournies ici sont essais et erreurs pour trouver des dépendances en double, mais si vous faites défiler un petit peu la ligne Execution failed for task ':app:dexDebug'.
, cela vous donnera un indice sur les duplications.
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 résoudre ce problème, il me fallait trouver les dépendances en double qui définissent parse.AbstractQueryController
Dans mon cas, j'avais deux modules importés qui se chargeaient dans deux bibliothèques Parse différentes. Faire mon projet charger un seul résolu mon problème.
Une raison peut être des bibliothèques dupliquées après l'importation à partir d'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.
J'ai trouvé un problème très intéressant avec Android Studio et la mise à niveau de mircrosoft vers le navigateur Web. J'ai mis à jour "bêtement" vers la dernière version de IE. Bien entendu, Microsoft, dans sa sagesse infinie, sait exactement quoi faire avec la sécurité. Lorsque j'ai essayé de compiler mon application, l'erreur ne cessait de se produire. Gradle - échec de la construction - Échec de l'exécution pour la tâche. En regardant dans la pile, j'ai vu qu'il ne reconnaissait pas le chemin d'accès à Java.exe. J'ai trouvé cela étrange, car je pouvais juste compiler la veille. J'ai ajouté Java_HOME aux envs du système, fermé Android Studio et rouvert. Bas et voici si l’écran de rappel du mur d’incendie n’est pas apparu, me demandant si je voulais que jave.exe passe au travers.
Quelle grappe!
(Cela peut être le mauvais fil, car votre problème semble plus spécifique, mais c'est le fil que j'ai trouvé lors de la recherche des mots-clés du problème)
Malgré tous les bons conseils, la seule chose qui m'a aidé et que j'aimerais partager, au cas où, si tout le reste ne fonctionnait pas:
Supprimez votre répertoire . Gradle de votre répertoire personnel et faites-le reconstruire/télécharger à nouveau pour vous par Android Studio.
Correction de toutes sortes d'erreurs étranges que je ne pouvais réparer en réinstallant Android Studio lui-même, ni le SDK.
J'ai également rencontré cette erreur lorsque le package de l'un de mes fichiers de classe était mal orthographié. Bon nombre de ces réponses passent immédiatement aux fichiers Jar, mais je vérifierais également que vos paquets sont correctement orthographiés.
Dans mon cas, j'ai fait Build > Clean Project
et cela a fonctionné!