com.android.build.transform.api.TransformException

Ich versuche, Google Anmelden zu integrieren, in meiner App habe ich diese Bibliotheken hinzugefügt:

compile 'com.google.android.gms:play-services-identity:8.1.0' compile 'com.google.android.gms:play-services-plus:8.1.0' 

Fügen Sie dies auch zur Projektentwicklung hinzu:

 classpath 'com.google.gms:google-services:1.4.0-beta3' 

Fügen Sie auch ein Plug-in zur App hinzu:

 apply plugin: 'com.google.gms.google-services' 

Fügen Sie dann die erforderlichen Berechtigungen hinzu, aber wenn ich versuche, meine App auszuführen, habe ich diesen Fehler erhalten:

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

Versuchen Sie, multiDexEnabled true zu Ihrer App build.gradle- Datei hinzuzufügen .

  defaultConfig { multiDexEnabled true } 

BEARBEITEN:

Versuchen Sie zuerst Steve’s Antwort . Falls es häufig passiert oder der erste Schritt nicht geholfen hat, hilft multiDexEnabled . Für diejenigen, die es lieben, hier tiefer zu graben, gibt es einige ähnliche Probleme (mit mehr Antworten):

: app: dexDebug ExecException wurde mit einem Wert ungleich Null beendet. 2

Fehler: Ausführung fehlgeschlagen für Task ‘: app: dexDebug’. com.android.ide.common.process.ProcessException

Eine andere Sache, auf die Sie achten sollten, ist, dass Sie sie nicht benutzen

 compile 'com.google.android.gms:play-services:8.3.0' 

Das wird ALLE Spieldienste importieren und es wird nur wenig mehr als eine Hello-Welt brauchen, um das 65535 Methodenlimit eines einzelnen Dex APKs zu überschreiten.

Geben Sie immer nur die Dienste an, die Sie benötigen, z.

 compile 'com.google.android.gms:play-services-identity:8.3.0' compile 'com.google.android.gms:play-services-plus:8.3.0' compile 'com.google.android.gms:play-services-gcm:8.3.0' 

Ich musste einfach mein Projekt säubern und es anschließend erfolgreich aufbauen.

Dieser Fehler begann für mich zu erscheinen, als ich meinem Projekt neue Methoden hinzufügte. Ich wusste, dass ich bei weitem nicht das 65k-Methodenlimit erreichte und wollte die multidex-Unterstützung für mein Projekt nicht aktivieren, wenn ich helfen konnte.

Ich habe es getriggers, indem ich den Speicher für die Task :app:transformClassesForDexForDebug erhöht habe. Ich habe dies getan, indem ich in gradle.build javaMaxHeapSize gradle.build .

gradle.build

 android { ... dexOptions { javaMaxHeapSize "4g" //specify the heap size for the dex process } } 

Ich versuchte dies, nachdem ich mit anderen gebräuchlichen Lösungen für dieses Problem keinen Erfolg hatte:

  • Ein Projekt clean
  • Manuelles Löschen der Verzeichnisse /app/build und /build aus meinem Projekt
  • Gradle-Cache wird ungültig und Android Studio wird neu gestartet

Error

Fehler: Ausführung fehlgeschlagen für Aufgabe> ‘: app: transformClassesWithDexForDebug’. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: process ‘command’ /Library/Java/JavaVirtualMachines/jdk1.8.0_45. jdk / Contents / Home / bin / java ” endete mit einem Wert ungleich Null 1

Hinweis: Wenn Sie den für die DEX-Task verfügbaren Speicher erhöhen, kann dies zu performancesproblemen auf Systemen mit geringerer Speicherkapazität führen.

Ich hatte auch ein ähnliches Problem in Android Studio 1.5.1 und 1.5.0. Ich muss nur unerwünschte Bibliotheken aus Abhängigkeiten entfernen, die automatisch in der Datei build.gradle meiner App hinzugefügt werden. Einer war: compile ‘com.google.android.gms: play-services: 8.4.0’. Versuchen Sie daher, bei Best Practices nur bestimmte Play Services-Bibliotheken einzubeziehen, wie dies nur bei Anzeigen der Fall ist

 dependencies { compile 'com.google.android.gms:play-services-ads:8.4.0' } 

Obwohl

 defaultConfig { multiDexEnabled true } 

Dies wird auch das Problem lösen, bietet aber eine Menge von Notes in der Konsole, was es verwirrend macht, die anderen echten Probleme während des Builds zu finden

Sie können die Dokumentation von Android sehen

 android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' } 

Manifest.xml

 < ?xml version="1.0" encoding="utf-8"?>   ...   

Ich benutze AS 1.5.1 und stieß auf das gleiche Problem. Aber nur das Projekt zu säubern tut einfach nicht, also habe ich etwas versucht.

  • sauberes Projekt
  • AS neu starten
  • Projekt synchronisieren

Das hat mit mir funktioniert, also hoffe ich das hilft.

In meinem Fall ändere buildToolsVersion von “24” auf “23.0.2”, um das Problem zu lösen.

In meinem Fall trat die Ausnahme auf, weil alle Google Play-Dienst-Erweiterungen nicht die gleiche Version wie folgt haben

  compile 'com.google.android.gms:play-services-plus:9.8.0' compile 'com.google.android.gms:play-services-appinvite:9.8.0' compile 'com.google.android.gms:play-services-analytics:8.3.0' 

Es hat funktioniert, als ich das geändert habe

 compile 'com.google.android.gms:play-services-plus:9.8.0' compile 'com.google.android.gms:play-services-appinvite:9.8.0' compile 'com.google.android.gms:play-services-analytics:9.8.0' 

Ich habe es mit dem nächsten getriggers:

Ich habe Multidex konfiguriert

In build.gradle müssen Sie den nächsten hinzufügen.

 android { ... defaultConfig { ... // Enabling multidex support. multiDexEnabled true ... } dexOptions { incremental true maxProcessCount 4 // this is the default value javaMaxHeapSize "2g" } ... } dependencies { ... compile 'com.android.support:multidex:1.0.1' ... } 

Fügen Sie den nächsten in local.properties hinzu

 org.gradle.parallel=true org.gradle.configureondemand=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

Danach müssen Sie in der Application-class auch das Multidex hinzufügen.

  public class MyApplication extends MultiDexApplication { @Override public void onCreate() { super.onCreate(); //mas codigo } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } 

Vergessen Sie nicht, den Zeilencode in Manifest.xml einzufügen

  

Das war es genug, um den Fehler zu beheben: Ausführung fehlgeschlagen für Task ‘: app: transformClassesWithDexForDebug. Überprüfen Sie sehr gut in build.gradle mit javaMaxHeapSize “2g” und die local.properties org.gradle.jvmargs = -Xmx2048m sind von 2 Gigabyte.

Ich hatte das selbe Problem, als ich über git zur alten Version rollte, und diese Version hatte vorhergehende .jar-Bibliothek von einer Drittpartei-API, und aus irgendeinem Grund stellte sich heraus, dass beide Jar der gleichen SDK, nur verschiedene Versionen im / libs-Ordner waren .

First Delete intermediates files IHR APP FOLDER \ app \ build \ intermediates ODER Säubern Sie Ihr Projekt und erstellen Sie es neu.

Thent hinzufügen

 multiDexEnabled true 

dh

 defaultConfig { multiDexEnabled true } 

Es ist Arbeit für mich

Ich habe dieses Problem getriggers, indem ich die neuste buildToolsVersion

 android { //... buildToolsVersion '26.0.2' // change from '23.0.2' //... } 

Wenn Sie die neueste Version von classpath 'com.android.tools.build:gradle:1.5.0' and classpath 'com.google.gms:google-services:1.4.0-beta3' , versuchen Sie, die neueste Version zu aktualisieren Unterstützen Sie das Repository vom SDK-Manager und erstellen Sie das gesamte Projekt neu.

Wenn Sie diese Referenz für Cordova Plugin hinzufügen müssen, fügen Sie die nächste Zeile in Ihre plugin.xml Datei ein.

  

Wenn die verschiedenen Abhängigkeiten ein jar jar haben, verursacht auch dieser Build-Fehler.

Beispielsweise:

 compile('com.ab:library1'); compile('com.cd:library2'); 

Wenn “library1” und “library2” dasselbe jar mit dem Namen xxx.jar , wird dies zu einem solchen Fehler führen.

Es ist mir wegen Eclipse Memory Leak passiert. Ich musste meinen Computer neu starten.

Ich habe ein paar PNGs und die Build-Nummer in der Größe geändert und jetzt bekomme ich das. Keine Menge an Reinigung und Neustart half. Das Deaktivieren von Instant Run hat es für mich behoben. YMMV

Ich hatte die gleiche Option und sobald ich die Instant-Run-function ausschaltete, funktionierte es auf meinem API16-Gerät, aber auf dem API24-Gerät funktionierte es gut mit Instant-Run.

Hoffe, das hilft jemandem, der das gleiche Problem hat

Gehe einfach zu Build – Build-Typen bearbeiten – Registerkarte Eigenschaften – Build Type Version und downgrade es auf 23.0.1. OK klicken. Dies funktioniert für Android Studio 1.5. Es hat für mich funktioniert.

Die Schreibantwort ist in Großbuchstaben put defaultConfig {multiDexEnabled true} dann Anwendungsname in Manifest android: name = “android.support.multidex.MultiDexApplication” wünschen diese Antwort ist höllisch für jemanden

Dieser Code triggerse das Problem

 defaultConfig { multiDexEnabled true } 

Für die einfachste Art und Weise zu implementieren Google Anmelden in: google Anmelden in Android

Probiere auch

 dexOptions { javaMaxHeapSize "4g" } 

Behalten Sie auch die Versionsnummer für verschiedene Dienste bei.

Ich habe dieses Problem getriggers, indem ich hinzugefügt habe: In build.gradle :

 defaultConfig { multiDexEnabled true } 

in local.properties ,

 org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m 

Erwähnung der Abhängigkeit:

 compile 'com.android.support:multidex:1.0.1' 

Reinigen und neu aufbauen.