Błąd:
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)
Struktura projektu:
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'
Jak mogę naprawić ten błąd?
Nagle miałem ten sam problem, bez znaczących zmian.
Rozwiązałem to usuwając
app/build
katalog i pozwoliłem gradle zbudować cały projekt jako nowy.źródło
Musisz sprawdzić, czy ten sam plik JAR jest ponownie importowany. W moim przypadku była klasa w słoiku, który był importowany w innym słoiku. Po prostu sprawdź, czy jakikolwiek plik lib / class jest uwzględniany dwukrotnie w całym projekcie!
źródło
Wystąpił ten sam rodzaj błędu, gdy próbowałem skompilować jar biblioteki narzędzi w eclipse przy użyciu Java JRE 1.8 i użyć go w moim / libs / w Android Studio 1.1.0.
Mój Android Studio był ustawiony na używanie JDK1.8.0.
Przełączyłem Eclipse do pracy z JRE 1.7 i błąd został naprawiony. Eclipse: Okno-> Preferencje-> zakładka Java-> Kompilator -> Poziom zgodności 1.7. Najprawdopodobniej wyświetli monit o przełączenie biblioteki systemowej JRE na jdk1.7.x_x.
Może być konieczne usunięcie zaznaczenia opcji „kompresuj słoik” podczas eksportu. Nie testowałem, czy to miało wpływ, czy nie. Wątpię, żeby to było powiązane.
źródło
Ja też miałem ten sam problem. W moim przypadku problem zaczął się po restarcie. Zamknąłem moją aplikację, następnie zamknąłem Android Studio (w moim przypadku V1.1.0) i wreszcie normalne zamknięcie. Następnie zmodyfikowałem jeden plik java, aby dodać obiekt RadioGroup i pojawił się problem.
Rozwiązałem problem tylko zmieniając proste „0” na „1” w moim pliku konfiguracyjnym Gradle, ponieważ główna przyczyna problemu została wygenerowana w procesie wykonywania Gradle. Wcześniej miałem wersję '1.0.0', a potem zmieniłem ją na '1.1.0', jak podano na zdjęciach.
Lokalizacja konfiguracji Gradle została zmieniona
Lokalizacja, z której pobrałem właściwą wersję (Plik -> Ustawienia -> Gradle -> Experimental
źródło
Problem NIE dotyczy
Execution failed for task ':dexDebug'
jeśli spojrzysz powyżej błędu pokazanego na czerwono, zobaczysz to
Aby trwale rozwiązać ten problem, po prostu dodaj te linie do
build.gradle
plikuandroid { dexOptions { jumboMode = true } }
Aby uzyskać więcej informacji, sprawdź to pytanie: tutaj
źródło
Upewnij się, że plik AndroidManifest zawiera nazwę pakietu w węźle manifestu. Ustawienie nazwy pakietu rozwiązało ten problem.
źródło
Użytkownicy ANDROID STUDIO próbują tego: -
Musisz dodać następujące elementy do zależności pliku gradle:
compile 'com.android.support:multidex:1.0.0'
Następnie dodaj poniższy wiersz (aplikacja obsługująca multidex) do
application
tagu manifestu :android:name="android.support.multidex.MultiDexApplication"
źródło
Można to naprawić, dodając
compile 'com.android.support:support-v4:18.0.0'
do zależności w vertretungsplan build.gradle, skompiluj, a następnie usuń tę linię i skompiluj ponownie.
teraz działa
źródło
Miałem ten sam problem, powinieneś zrobić:
File -> Invalidate Caches / Restart
źródło
Miałem ten problem, ponieważ próbowałem użyć zarówno biblioteki wsparcia, jak i 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' }
Po usunięciu biblioteki wsparcia i zmianie na starszą wersję skompilowałem:
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' }
źródło
Miałem dwie niezgodne zależności.
Poniższe zależności spowodowały błąd.
compile 'com.google.android.gms:play-services-fitness:8.3.0' compile 'com.google.android.gms:play-services-wearable:8.4.0'
Zmieniając zależność od sprawności na wersję 8.4.0, mogłem uruchomić aplikację.
compile 'com.google.android.gms:play-services-fitness:8.4.0' compile 'com.google.android.gms:play-services-wearable:8.4.0'
źródło
Znalazłem bardzo interesujący problem z Android Studio i aktualizacją mircrosoft do przeglądarki internetowej. Zaktualizowałem "głupio" do najnowszej wersji ie. oczywiście Microsoft w swojej nieskończonej mądrości dokładnie wie, co zrobić z bezpieczeństwem. Kiedy próbowałem skompilować aplikację, otrzymywałem błąd Gradle - niepowodzenie kompilacji - niepowodzenie wykonania zadania. patrząc w stos zauważyłem, że nie rozpoznał ścieżki do java.exe. Wydało mi się to dziwne, ponieważ udało mi się skompilować dzień wcześniej. Dodałem JAVA_HOME do zmiennych środowiska systemu, zamknąłem Android Studio i ponownie je otworzyłem. Nisko i spójrz, jeśli ekran nagiej ściany ognia nie wyskakuje z pytaniem, czy chcę przejść przez cały plik jave.exe.
Co za gromada!
źródło
(Może to być niewłaściwy wątek, ponieważ Twój problem wydaje się bardziej szczegółowy, ale jest to wątek, który znalazłem podczas wyszukiwania słów kluczowych dotyczących problemu)
Mimo wszystkich dobrych podpowiedzi jedyne, co mi pomogło i którymi chciałbym się podzielić na wszelki wypadek, gdyby wszystko inne nie działało:
Usuń swój .gradle katalog w swoim katalogu domowym i jego przebudowę / ponowne pobranie przez Android Studio.
Naprawiono dla mnie wszelkiego rodzaju dziwne błędy, których nie można było naprawić przez ponowną instalację samego Androida Studio ani SDK.
źródło
Przyczyną mogą być zduplikowane biblioteki po zaimportowaniu z Eclipse IDE.
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')}
Miałem ten sam problem, po komentarzu:
//compile files('libs/google-play-services.jar')
Aplikacja nie wyświetla żadnych błędów.
źródło
Napotkałem ten sam problem. Rozwiązany w ten sposób. Idź do actionbarsherlock -> ustawienia modułu -> zależności. Usuń bibliotekę wsparcia v4. W lewym dolnym rogu znajduje się przycisk plus, stamtąd dodaj 1 Zależność od biblioteki (Wybierz support-v4). Niech gradle zsynchronizuje się ponownie i wyczyści projekt po zakończeniu.
źródło
Wiele odpowiedzi jest metodą prób i błędów, aby znaleźć zduplikowane zależności, ale jeśli przewiniesz trochę w górę od
Execution failed for task ':app:dexDebug'.
wiersza, da ci to wskazówkę co do duplikatów.
W moim przypadku miałem następujący błąd:
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define L/com/parse/AbstractQueryController$1; ... ... ... Execution failed for task ':app:dexDebug'.
Wiedziałem więc, że aby naprawić ten błąd, muszę znaleźć zduplikowane zależności, które definiują
parse.AbstractQueryController
W moim przypadku miałem dwa zaimportowane moduły, które ładowały się w dwóch różnych bibliotekach Parse. Mój projekt ładował tylko jeden, naprawił mój problem.
źródło
Wystąpił również ten błąd, gdy pakiet w jednym z moich plików klas był nieprawidłowo napisany. Wiele z tych odpowiedzi od razu przeskakuje do plików Jar, ale chciałbym też sprawdzić, czy pisownia pakietów jest poprawna.
źródło
po prostu dodaj build.gradle
kompiluj „com.parse.bolts: bolts-android: 1. +”
kompiluj „com.parse: parse-android: 1.11.0”
i zsynchronizuj projekt z plikami Gradle, ale nie dodawaj Jar parsowania w bibliotekach :) OKK
źródło
Jeśli używasz również
Dagger
lubButterknife
powinieneś dodać guawę jako zależność dobuild.gradle
głównego pliku, taką jak ścieżka klas:com.google.guava:guava:20.0
Z drugiej strony, jeśli masz problemy z większą stertą dla demona Gradle, możesz zwiększyć dodawanie do
radle
pliku:dexOptions { javaMaxHeapSize "4g" }
źródło
W moim przypadku zrobiłem
Build > Clean Project
i zadziałało!źródło
Czyszczenie projektu za pomocą opcji Kompiluj na pasku menu działa w przypadku wielu scenariuszy błędów w Android Studio i tak jest w tym przypadku.
źródło