2015-11-25 9 views
41

Ich erhalte die Ausnahme unten, wenn ich versuche, die Anwendung mit Android Studio auszuführen:Android Studio TransformException: Fehler: Fehler bei der Ausführung für die Task ‚: App: transformClassesWithDexForDebug‘

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 2

+1

Bitte versuchen Sie folgendes: http://stackoverflow.com/a/32889565 Hoffe, es hilft. –

+2

Was ist deine 'com.android.tools.build: gradle' Version? –

+0

Überprüfen Sie diese https://stackoverflow.com/questions/33717886/errorexecution-failed-for-task-apptransformclasseswithdexfordebug – Yaman

Antwort

52

Ich habe gleiches Problem, nach Nach einigen Stunden Recherche fand ich eine Lösung, um es zu beheben.

sollten Sie feste build.gradle:

android { 

    compileSdkVersion .. 
    buildToolsVersion '...' 

    defaultConfig { 
     ... 
     targetSdkVersion .. 
     multiDexEnabled true // this line will solve this problem 
    } 
} 

If the number of method references in your app exceeds the 65K limit, your app may fail to compile.

Informationen darüber, wie dies zu tun, siehe Selectively compiling APIs into your executable und Building Apps with Over 65K Methods

+0

Wie sind Sie über diese Lösung @Danh DC gekommen? Arbeitete für mich, aber würde gerne wissen, wie Sie das bekommen haben. –

+1

@MarkaA Wenn die Anzahl der Methodenreferenzen in Ihrer App das 65K-Limit überschreitet, kann Ihre App möglicherweise nicht kompiliert werden. Sie können dieses Problem möglicherweise beheben, wenn Sie Ihre App kompilieren, indem Sie nur die spezifischen Google Play-Dienst-APIs angeben, die in Ihrer App verwendet werden, und nicht alle. Weitere Informationen dazu finden Sie unter https://developers.google.com/android/guides/setup#split und http://developer.android.com/tools/building/multidex.html –

+1

etwas, das in 'build.gradle' gesetzt wird, ist' multiDexEnabled true'. Auch etwas albern, dass Android Studio dies nicht automatisch macht, besonders wenn Abhängigkeiten/Bibliotheken in Richtung 65K Limit zu zählen scheinen. Meine App hat in ihrem First-Party-Code sicher keine 65K-Methodenreferenzen. – aroth

12

in meinem Fall mit Android Studio 2.0 Vorschau 4 I plötzlich habe dieses Problem und das Hinzufügen multiDexEnabled true hat nicht geholfen, und auch sauber und neu aufgebaut hat nicht geholfen.

so das einzige, was es für mich gelöst löscht diese Datei:

YOUR_APP_NAME\app\build\intermediates

und die Anwendung auszuführen und es funktioniert.

+1

Nachdem ich das getan habe, bekam ich ein paar mehr Build-Fehler über Schwierigkeiten beim Erstellen einiger Verzeichnisse in den Zwischenprodukten, aber manuell zu dem Projekt, das ich bauen konnte. Danke @humazed! – safetyOtter

+1

Danke. Dies ist der einzige Weg, um es in meinem Fall (AS 3.0.1) unter Windows 10 Pro zu beheben. Ich habe andere Methoden versucht (AS neu starten, Projekt löschen, Projekt neu erstellen, Cache invalidieren/neustarten ...), ohne Erfolg. – Hong

4

Für mich schließen alle anderen Android Studio das Problem gelöst.

Ich hatte 3 Android-Studios geöffnet, als ich den Fehler erhielt, nachdem ich 2 geschlossen habe, habe ich keinen Fehler bekommen.

Sie müssen keinen Code hinzufügen, der sich auf multiDex bezieht!

Scheint so, als gäbe es ein Speicherproblem im Zusammenhang mit jvm.

1

Dieses Problem wurde behoben. In meinem Fall half mir der Wiederaufbau des Projekts. Versuchen Sie also, Ihr Projekt neu zu erstellen.

0

die folgende Zeile hinzufügen:

multiDexEnabled true 

Innerhalb der defaultConfig von build.gradle

Like this:

defaultConfig{ 
    multiDexEnabled true 
} 
4

Ändern Sie die Datei build.gradle Modulebene

android { 
    ... 

    // Enabling multidex support. 
    multiDexEnabled true 
} 
... 

}

hinzufügen Abhängigkeiten Kompilierung 'com.android.support:multidex:1.0.0'

In Ihrem Manifest fügen die MultiDexApplication Klasse

<manifest ...> 
<application 
    ... 
    android:name="android.support.multidex.MultiDexApplication"> 
    ... 
</application> 

http://developer.android.com/studio/build/multidex.html

0

Ändern Sie in meinem Fall buildToolsVersion von "24" auf "23.0.2", um das Problem zu lösen.Das wird das Problem besonders lösen, wenn Sie alte Android Studio verwenden weniger als Version 2.

0

ich die Antwort von here gefunden: Nach Änderung der build.grade Datei mit folgendem

minSdkVersion 21

targetSdkVersion 25

multiDexEnabled true

funktioniert gut.

0

in meinem Fall - Saubere Projekt und Rebuild

+0

Das sollte ein Kommentar sein, keine Antwort. – GhostCat

Verwandte Themen