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:
"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?
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.
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.
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!
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.
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é
lieu où j'ai pris la bonne version de (fichier -> paramètres - > Grad - > Expérimental
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
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
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.
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"
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
j'ai eu le même problème, il faut faire:
File -> Invalidate Caches / Restart
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'
}
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'
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!
(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.
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.
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 .
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
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.
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.
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 Mais N'ajoutez pas le pot de parse en libs:) OKK
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"
}
dans mon cas, j'ai fait Build > Clean Project
et ça a marché!
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.