Fehler: Ausführung für Aufgabe „:app:transformClassesWithDexForDebug“ fehlgeschlagen
Lesezeit: 5 Minuten
Saket Jain
Der Fehler
Fehler: Ausführung für Aufgabe „:app:transformClassesWithDexForDebug“ fehlgeschlagen. com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Verarbeite „Befehl“/usr/lib/jvm/java-8-oracle /bin/java” wurde mit dem Nicht-Null-Exit-Wert 1 beendet
Wenn ich beim Debuggen minifyEnabled auf true setze, wird es kompiliert. Allerdings kann ich dann meine Anwendung nicht debuggen.
Ich habe diese andere Frage überprüft: Die Ausführung der Aufgabe „:app:transformClassesWithDexForDebug“ ist beim Implementieren der Google-Anmeldung für Android fehlgeschlagen, aber es gibt nur eine Antwort, und die Implementierung löst das Problem leider nicht.
AFAIK, der Fehler wird durch das Hinzufügen zu vieler Gradle-Abhängigkeiten verursacht, aber ich kann mich irren (ich hoffe wirklich, dass ich mich irre, weil all diese Pakete wirklich wichtig sind!).
Bitte helfen Sie mir, diesen Fehler zu beheben. Vielen Dank!
Können Sie den vollständigen Stack-Trace des Fehlers posten? Führen Sie dazu aus ./gradlew clean build --full-stacktrace
– Alex Lipov
20. November 2015 um 12:15 Uhr
@Alex Ich habe deinen Befehl ausprobiert, aber er ist am selben Punkt fehlgeschlagen und es gibt mir den gleichen Fehler org.gradle.api.tasks.TaskExecutionException: Ausführung für Aufgabe ‘:app:transformClassesWithDexForDebug’ fehlgeschlagen.
– Antwan
5. Dezember 2015 um 12:05 Uhr
Bitte gehen Sie meine Antwort sowie die akzeptierte Antwort auf diesem Stackoverflow-Link durch
– Benutzer2094075
13. Mai 2016 um 6:16 Uhr
Krupal Schah
Korrigieren Sie einfach die Abhängigkeiten der Google Play-Dienste:
Sie beziehen alle Spieldienste in Ihr Projekt ein. Fügen Sie nur die gewünschten hinzu.
Wenn Sie beispielsweise nur Karten und g+-Anmeldung verwenden, ändern Sie dies
In Versionen von Google Play-Diensten vor 6.5 mussten Sie das gesamte API-Paket in Ihre App kompilieren. In einigen Fällen wurde es dadurch schwieriger, die Anzahl der Methoden in Ihrer App (einschließlich Framework-APIs, Bibliotheksmethoden und Ihrem eigenen Code) unter der Grenze von 65.536 zu halten.
Ab Version 6.5 können Sie stattdessen selektiv Google Play-Dienst-APIs in Ihre App kompilieren. Um beispielsweise nur die Google Fit- und Android Wear-APIs einzuschließen, ersetzen Sie die folgende Zeile in Ihrer build.gradle-Datei:
kompiliere ‘com.google.android.gms:play-services:8.3.0’ mit diesen Zeilen:
Die folgende Ressource sollte helfen zu erklären, was dieser Code tut: link(http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html) Eigenschaft | Beschreibung javaMaxHeapSize | Legt den Wert -JXmx* fest, wenn dx aufgerufen wird. Das Format sollte dem 1024M-Muster folgen. preDexBibliotheken | Ob Bibliotheken vorab dexiert werden sollen. Dies kann inkrementelle Builds verbessern, saubere Builds können jedoch langsamer sein.
Können Sie bitte erklären, was das bewirkt?
– Saket Jain
15. November 2015 um 8:54 Uhr
Ich weiß es nicht. Ich sehe das nur in multiDexEnabled. Oder Sie können Ihr Projekt bereinigen und den Build-Ordner löschen.
– winziges Sonnenlicht
15. November 2015 um 8:59 Uhr
Ok, kannst du bitte deine Quelle angeben?
– Saket Jain
15. November 2015 um 9:00 Uhr
Die folgende Ressource sollte helfen zu erklären, was dieser Code tut: Verknüpfung Eigentum | Beschreibung javaMaxHeapSize | Legt den Wert -JXmx* fest, wenn dx aufgerufen wird. Das Format sollte dem 1024M-Muster folgen. preDexBibliotheken | Ob Bibliotheken vorab dexiert werden sollen. Dies kann inkrementelle Builds verbessern, saubere Builds können jedoch langsamer sein.
– lgdroid57
2. Dezember 2015 um 21:23 Uhr
schließlich war diese Antwort die einzige, die für mich funktioniert hat! danke
– Amr Mohammed
13. Dezember 2015 um 1:08 Uhr
Mohammed Mesalm
Versuchen Sie, hinzuzufügen multiDexEnabled true zu Ihrer App build.gradle Datei.
defaultConfig {
multiDexEnabled true
}
Diese Antwort war genug, um mein Problem zu beheben.
Das hat bei mir funktioniert. Kann jemand erklären, warum das funktioniert.
– Prakasch
12. Oktober 2017 um 20:44 Uhr
Meine Antwort ist ein bisschen alt, aber für mich bestand die einzige Lösung darin, die Option multiDexEnabled in defaultConfig wie folgt hinzuzufügen:
Können Sie den vollständigen Stack-Trace des Fehlers posten? Führen Sie dazu aus
./gradlew clean build --full-stacktrace
– Alex Lipov
20. November 2015 um 12:15 Uhr
@Alex Ich habe deinen Befehl ausprobiert, aber er ist am selben Punkt fehlgeschlagen und es gibt mir den gleichen Fehler org.gradle.api.tasks.TaskExecutionException: Ausführung für Aufgabe ‘:app:transformClassesWithDexForDebug’ fehlgeschlagen.
– Antwan
5. Dezember 2015 um 12:05 Uhr
Bitte gehen Sie meine Antwort sowie die akzeptierte Antwort auf diesem Stackoverflow-Link durch
– Benutzer2094075
13. Mai 2016 um 6:16 Uhr