Error:
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)
Projektstruktur:
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'
Wie kann ich diesen Fehler beheben?
Ich hatte plötzlich das gleiche Problem, ohne nennenswerte Änderungen.
Ich habe es gelöst, indem ich das
app/build
Verzeichnis gelöscht habe und Gradle das gesamte Projekt neu erstellen ließ.quelle
Sie müssen überprüfen, ob dieselbe JAR erneut importiert wird. In meinem Fall gab es eine Klasse in einem Glas, die in ein anderes Glas importiert wurde. Überprüfen Sie also einfach, ob die lib / class-Datei zweimal im gesamten Projekt enthalten ist!
quelle
Ich habe die gleiche Art von Fehler erhalten, als ich versucht habe, ein Utils-Bibliotheksglas in Eclipse mit Java JRE 1.8 zu kompilieren und es in my / libs / in Android Studio 1.1.0 zu verwenden.
Ich hatte mein Android Studio auf JDK1.8.0 eingestellt.
Ich habe meine Eclipse auf JRE 1.7 umgestellt und der Fehler wurde behoben. Eclipse: Fenster-> Einstellungen-> Java-Registerkarte-> Compiler -> Konformitätsstufe 1.7. Sie werden höchstwahrscheinlich aufgefordert, Ihre JRE-Systembibliothek auf jdk1.7.x_x umzustellen.
Möglicherweise müssen Sie beim Exportieren die Option "JAR komprimieren" deaktivieren. Ich habe nicht getestet, ob es eine Wirkung hatte oder nicht. Ich bezweifle, dass es verwandt war.
quelle
Ich hatte auch das gleiche Problem. In meinem Fall begann das Problem nach einem Neustart. Ich habe meine App geschlossen, dann das Android Studio (in meinem Fall V1.1.0) und schließlich ein normales Herunterfahren. Danach habe ich eine Java-Datei geändert, um ein RadioGroup-Objekt hinzuzufügen, und dann ist das Problem aufgetreten.
Ich habe mein Problem gelöst, indem ich in meiner Gradle-Konfigurationsdatei nur eine einfache '0' gegen eine '1' geändert habe, da die Hauptursache des Problems beim Gradle-Ausführungsprozess generiert wurde. Früher hatte ich die Version '1.0.0', dann habe ich sie in '1.1.0' geändert, wie auf den Bildern angegeben.
Position der Gradle-Konfiguration geändert
Ort, an dem ich die richtige Version übernommen habe (Datei -> Einstellungen -> Gradle -> Experimentell
quelle
Das Problem geht NICHT um
Execution failed for task ':dexDebug'
Wenn Sie über den rot angezeigten Fehler schauen, werden Sie dies sehen
Um dieses Problem dauerhaft zu lösen, fügen Sie diese Zeilen einfach in Ihre
build.gradle
Datei einFür weitere Details überprüfen Sie diese Frage: hier
quelle
Stellen Sie sicher, dass Ihre AndroidManifest-Datei einen Paketnamen im Manifestknoten enthält. Das Festlegen eines Paketnamens hat dieses Problem für mich behoben.
quelle
ANDROID STUDIO Benutzer versuchen dies: -
Sie müssen Ihren Gradle-Dateiabhängigkeiten Folgendes hinzufügen:
Fügen Sie dann die folgende Zeile (Multidex-Unterstützungsanwendung) zum
application
Tag Ihres Manifests hinzu :quelle
Könnte dies durch Hinzufügen beheben
Kompilieren und entfernen Sie diese Zeile zu den Abhängigkeiten im vertretungsplan build.gradle, entfernen Sie sie und kompilieren Sie sie erneut.
jetzt gehts
quelle
Ich hatte das gleiche Problem, das du tun solltest:
File -> Invalidate Caches / Restart
quelle
Ich hatte dieses Problem, weil ich versucht habe, sowohl die Support-Bibliothek als auch Appcompat zu verwenden:
Nachdem ich die Support-Bibliothek gelöscht und auf eine ältere Version umgestellt hatte, wurde Folgendes kompiliert:
quelle
Ich hatte zwei inkompatible Abhängigkeiten.
Die folgenden Abhängigkeiten haben den Fehler verursacht.
Durch Ändern der Fitnessabhängigkeit auf Version 8.4.0 konnte ich die App ausführen.
quelle
Ich fand ein sehr interessantes Problem mit Android Studio und dem mircrosoft-Upgrade auf den Webbrowser. Ich habe "dumm" auf die neueste Version von dh aktualisiert. Natürlich weiß Microsoft in ihrer unendlichen Weisheit genau, was mit Sicherheit zu tun ist. Als ich versuchte, meine App zu kompilieren, wurde immer wieder der Fehler angezeigt. Gradle - Build schlägt fehl - Ausführung für Aufgabe fehlgeschlagen. Als ich in den Stapel schaute, sah ich, dass der Pfad zu java.exe nicht erkannt wurde. Ich fand das seltsam, da ich erst am Tag zuvor kompilieren konnte. Ich habe JAVA_HOME zu den env-Variablen für das System hinzugefügt, Android Studio geschlossen und es erneut geöffnet. Niedrig und siehe da, wenn der Feuerwand-Nörgelbildschirm nicht platzte und fragte, ob ich alle jave.exe durchmachen wollte.
Was für ein Cluster!
quelle
(Dies ist möglicherweise der falsche Thread, da Ihr Problem spezifischer zu sein scheint, aber es ist der Thread, den ich bei der Suche nach den Schlüsselwörtern des Problems gefunden habe.)
Trotz aller guten Hinweise das einzige, was mir geholfen hat und das ich nur für den Fall teilen möchte, wenn alles andere nicht funktioniert:
Entfernen Sie Ihr .gradle- Verzeichnis in Ihrem Home-Verzeichnis und lassen Sie es von Android Studio für Sie neu erstellen / herunterladen.
Es wurden alle Arten von seltsamen Fehlern für mich behoben, die weder durch Neuinstallation von Android Studio selbst noch des SDK behoben werden konnten.
quelle
Ein Grund können doppelte Bibliotheken nach dem Import aus der Eclipse-IDE sein.
Ich hatte das gleiche Problem nach dem Kommentar:
Die App bekommt keine Fehler.
quelle
Ich hatte das gleiche Problem. Auf diese Weise gelöst. Gehen Sie zu actionbarsherlock -> Moduleinstellungen -> Abhängigkeiten. Entfernen Sie die Support v4-Bibliothek. Unten links befindet sich eine Plus-Schaltfläche, von der aus Sie 1 Bibliotheksabhängigkeit hinzufügen (Wählen Sie support-v4 aus). Lassen Sie das Gradle-Projekt erneut synchronisieren und bereinigen, sobald es fertig ist.
quelle
Viele der Antworten hier sind Versuch und Irrtum, um doppelte Abhängigkeiten zu finden. Wenn Sie jedoch nur ein wenig von der
Execution failed for task ':app:dexDebug'.
Zeile nach oben scrollen , erhalten Sie einen Hinweis auf die Duplikate.
In meinem Fall hatte ich folgenden Fehler:
Ich wusste also, dass ich zur Behebung dieses Fehlers die doppelten Abhängigkeiten finden musste, die definiert wurden
parse.AbstractQueryController
In meinem Fall hatte ich zwei importierte Module, die in zwei verschiedene Parse-Bibliotheken geladen wurden. Durch das Laden eines Projekts wurde nur ein Problem behoben.
quelle
Ich bin auch auf diesen Fehler gestoßen, als das Paket in einer meiner Klassendateien falsch geschrieben wurde. Viele dieser Antworten springen sofort zu den Jar-Dateien, aber ich würde auch überprüfen, ob Ihre Pakete richtig geschrieben sind.
quelle
Fügen Sie einfach build.gradle hinzu
kompiliere 'com.parse.bolts: bolts-android: 1. +'
kompiliere 'com.parse: parse-android: 1.11.0'
und synchronisiere das Projekt mit Gradle-Dateien, aber füge das Analyse-Jar nicht in libs hinzu :) OKK
quelle
Wenn Sie auch verwenden
Dagger
oderButterknife
sollten Sie Guave als Abhängigkeit zu Ihrerbuild.gradle
Hauptdatei wie Klassenpfad hinzufügen :com.google.guava:guava:20.0
Wenn Sie jedoch Probleme mit einem größeren Heap für den Gradle-Daemon haben, können Sie das Hinzufügen zu Ihrer
radle
Datei erhöhen :quelle
In meinem Fall habe ich es getan
Build > Clean Project
und es hat funktioniert!quelle
Das Bereinigen des Projekts mithilfe der Menüleiste "Erstellen" funktioniert in Android Studio für viele Fehlerszenarien. In diesem Fall ist dies auch der Fall.
quelle