Der Fehler
Fehler: Ausführung für Task ': app: transformClassesWithDexForDebug' fehlgeschlagen. com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Prozess 'Befehl' / usr / lib / jvm / java-8-oracle / bin / java '' beendet mit einem Exit-Wert ungleich Null 1
Meine App Gradle-Datei:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId 'Hidden application ID'
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
disable 'InvalidPackage'
}
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
productFlavors {
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'com.facebook.android:facebook-android-sdk:4.7.0'
compile 'com.googlecode.libphonenumber:libphonenumber:7.2.1'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.android.support:preference-v7:23.1.1'
}
Wenn ich beim Debuggen minifyEnabled auf true setze, wird es kompiliert. Dann kann ich meine Anwendung jedoch nicht debuggen.
Ich habe diese andere Frage überprüft: Die Ausführung der Aufgabe ': app: transformClassesWithDexForDebug' beim Implementieren der Google-Anmeldung für Android ist fehlgeschlagen , aber es gibt nur eine Antwort, und die Implementierung behebt 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!
./gradlew clean build --full-stacktrace
Antworten:
Korrigieren Sie einfach die Abhängigkeiten von Google Play Services:
Sie nehmen alle Spieldienste in Ihr Projekt auf. Fügen Sie nur die gewünschten hinzu.
Wenn Sie beispielsweise nur Karten und g + signin verwenden, ändern Sie diese
compile 'com.google.android.gms:play-services:8.1.0'
zu
compile 'com.google.android.gms:play-services-maps:8.1.0' compile 'com.google.android.gms:play-services-plus:8.1.0'
Aus dem Dokument:
Eine vollständige Liste finden Sie hier .
quelle
Versuchen
dexOptions { javaMaxHeapSize "4g" preDexLibraries = false }
Ich kenne den Grund nicht. Etwas über
preDexLibraries
: https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/tipsLaut @ lgdroid57:
Die folgende Ressource soll erklären, was dieser Code bewirkt: link ( http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html ) Eigenschaft | Beschreibung javaMaxHeapSize | Legt den Wert -JXmx * beim Aufruf von dx fest. Das Format sollte dem 1024M-Muster folgen. preDexLibraries | Gibt an, ob Bibliotheken vordexiert werden sollen. Dies kann inkrementelle Builds verbessern, aber saubere Builds können langsamer sein.
quelle
Versuchen Sie
multiDexEnabled true
, Ihrer App-build.gradle
Datei etwas hinzuzufügen .defaultConfig { multiDexEnabled true }
quelle
Dies ist das Problem bei Multidex. Sie können versuchen, ein Glas zu entfernen, oder Sie können es wie folgt versuchen: http://developer.android.com/tools/building/multidex.html#mdex-gradle in app build.gradle:
defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } dependencies { compile 'com.android.support:multidex:1.0.0' }
In Ihrem Manifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest>
quelle
fügen Sie
multiDexEnabled true
indefault config file
derbuild.gradle
wie folgt ausdefaultConfig { multiDexEnabled true }
quelle
Die Lösung, die für mich persönlich funktioniert hat, war:
in dem
build.gradle
defaultConfig { multiDexEnabled true } dexOptions { javaMaxHeapSize "4g" }
quelle
Meine Antwort ist etwas alt, aber für mich bestand die einzige Lösung darin, die Option multiDexEnabled in defaultConfig wie folgt hinzuzufügen:
android{ ... defaultConfig{ ... multiDexEnabled true } }
Wenn dies bei Ihnen nicht funktioniert, fügen Sie diesen Code hinzu:
configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.support') { if (!requested.name.startsWith("multidex")) { details.useVersion '26.1.0' } } } }
Mein Fehler hing mit einem Problem mit verschiedenen Bibliotheksversionen zusammen und dies machte den Trick.
Ich hoffe das kann jemandem helfen :)
quelle
Stellen Sie sicher, dass Sie nicht zwei Versionen des Google-Dienstes verwenden.
Zum Beispiel mit:
compile 'com.google.firebase:firebase-messaging:9.8.0'
und
compile 'com.google.firebase:firebase-ads:10.0.0'
quelle
com.google
Bibliotheken auf die neueste Version aktualisieren , um das Problem zu beheben.Ich habe dieses Problem erhalten, als ich das Gradle-Plugin von Version 1.2.3 auf 1.5.0 aktualisiert habe, wie von Android Studio vorgeschlagen. Auf seiner Webseite scheint 1.5.0 eine Beta-Version zu sein.
Ehrlich gesagt weiß ich nicht, welche Vorteile die Version 1.5.0 hat, aber ich würde lieber warten, bis es eine stabile Version gibt.
Ein Rückblick auf 1.2.3 löste das Problem natürlich.
quelle
Mögliche Hilfe
Versucht als absoluter letzter Ausweg, nachdem alle anderen Optionen ausgeschöpft wurden
Ich habe alle Memory Sticks (RAM) bis auf einen entfernt. Ich habe jetzt weniger Speicher, aber es funktioniert wieder. Ich kann nicht vorgeben zu wissen, warum der Erstellungsprozess immer beschädigten Speicher gefunden hat oder ob dies zu 100% die Hauptursache ist - in anderer Hinsicht lief das System einwandfrei. Vielleicht ist dies etwas zu versuchen, viel Glück.
quelle
Für mich löste das Schließen aller anderen Android Studio das Problem.
Ich hatte 3 Android-Studios geöffnet, als ich den Fehler bekam, nachdem ich 2 geschlossen hatte, bekam ich keinen Fehler.
Sie müssen keinen Code für multiDex hinzufügen!
quelle
Keine Notwendigkeit für Multitex. Für ein "altes" Projekt, das in Android Studio 2.1 geöffnet wurde, wurde die Gradle-Plugin-Version von 1.5.0 auf 2.1.0 geändert, wodurch das Problem für mich behoben wurde.
buildscript { dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } }
quelle
Ich habe es gelöst! Es ist eine Sammlung von Konfigurationen und Updates. Fügen Sie diese Variablen dort hinzu, wo sie in build.gradle passen
android { packagingOptions { exclude 'META-INF/ASL2.0' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } dexOptions { javaMaxHeapSize "4g" } defaultConfig { multiDexEnabled true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } }
Dann Update auf Java 8
http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/
und alles wird gelöst! Es ist wegen desbuildTools
Updates und des neuen Android-Studios. Sonst wird nichts scheitern.quelle
Durch Austausch
Wenn nur Dateien benötigt werden, kann das Problem behoben werden. Dieses Problem wird generiert, weil die Dateien in der Datei build.gradle überschritten werden.
quelle
Anscheinend habe ich das Problem gelöst, indem ich alle Lösungen kombiniert habe, die dem Android-Manifest Folgendes hinzugefügt haben:
<application ... android:name="android.support.multidex.MultiDexApplication" > ... </application>
Folgen Sie dem Build.gradle App-Modul
android { ... dexOptions { javaMaxHeapSize "4g" preDexLibraries = false } ... defaultConfig { multiDexEnabled true } }
quelle
Gehen Sie zu Build -> Clean und führen Sie Ihre App erneut aus
quelle
Gehen Sie in Build ->
Projekt reinigen ->
Projekt ausführen: fertig
Ich arbeite an Android 5.1 für mich
quelle
Entfernen Sie einfach beide
build
Ordner in/android
und/android/app
und wieder bauen mit
react-native run-android
quelle
Mit ionic konnte ich diesen Fehler mit dem Befehl "cordova clean" beheben.
quelle
Ich hatte dieses Problem, als ich meine Kompilierungsaufgabe über SSH an die Google Compute Engine delegierte . Die Art dieses Problems ist ein Speicherfehler, wie im Absturzprotokoll angegeben. Insbesondere wird es ausgelöst, wenn Java nicht mehr über genügend virtuellen Speicher verfügt, um während des Builds arbeiten zu können.
Wichtig: Wenn gradle aufgrund dieses Speicherfehlers abstürzt, werden die gradle-Dämonen noch lange ausgeführt, nachdem Ihre Kompilierungsaufgabe fehlgeschlagen ist. Bei jedem erneuten Versuch, erneut mit gradle zu erstellen, wird ein neuer gradle-Daemon zugewiesen. Sie müssen sicherstellen, dass Sie abgestürzte Instanzen mit ordnungsgemäß entsorgen
gradlew --stop
.In den
hs_error_pid
Absturzprotokollen werden die folgenden Problemumgehungen angegeben:# There is insufficient memory for the Java Runtime Environment to continue. # Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit # Possible solutions: # Reduce memory load on the system # Increase physical memory or swap space # Check if swap backing store is full # Use 64 bit Java on a 64 bit OS # Decrease Java heap size (-Xmx/-Xms) # Decrease number of Java threads # Decrease Java thread stack sizes (-Xss) # Set larger code cache with -XX:ReservedCodeCacheSize=
Ich habe festgestellt, dass dieses Problem behoben wurde , nachdem die Laufzeitressourcen der virtuellen Maschine erhöht wurden .
quelle
Ich hatte einen ähnlichen Fehler. Ich habe es behoben, indem ich einfach das Verzeichnis gewechselt habe. Klonen Sie mein Projekt erneut aus meinem Git-Repository, importieren Sie es in Android Studio und erstellen Sie es. Scheint, als ob eines der Verzeichnisse / Dateien, die von Android Studio beim Erstellen Ihres Projekts generiert wurden, beschädigt wurde. Das Löschen aller von Android Studio generierten Dateien in Ihrem Projekt oder das, was ich getan habe, könnte das Problem lösen. Hoffe das hilft.
quelle
An alle, die sich diesem Problem gestellt haben / in Zukunft stellen werden:
Klicken Sie auf das Menü Erstellen -> Wählen Sie Build-Variante -> Wiederherstellen auf 'Debug'.
Kommentar zum Debuggen im Modul: app / * debug {debuggable true} * /
Gehen Sie zum Menü Erstellen -> signierte apk generieren -> .... -> erstellen
quelle
Verschieben Sie die Deklaration zum Anwenden des Plugins am Ende der Datei:
Plugin anwenden: 'com.google.gms.google-services'
quelle
quelle
Nicht verrückt werden, ich putze nur, dann baue ich das Projekt neu auf und der Fehler war weg
quelle
Ich hatte diesen Fehler beim Ausführen eines Ionic-Projekts auf einem Android-Gerät und habe ihn durch Entfernen und Hinzufügen der Android-Plattform behoben:
ionic cordova platform remove android ionic cordova platform add android
quelle
In meinem Fall:-
Antworten:-
Ich habe gerade den
react-native-firebase
Ordner gelöscht, der sich imnode_modules
Ordner befindet. Dann konnte ich die App erfolgreich ausführen.Und noch etwas vergessen Sie nicht zu entfernen,
react-native-firebase
aber nicht@react-native-firebase
in der Datei package.json. Also das nächste Mal wenn du rennstnpm I
oderyarn
. Dies wird nicht in Ihrer App installiert.Dieses Paket hat das Problem verursacht.
quelle
Wenn Java 8 oder höher verwendet wird, besteht das Problem darin, dass die von uns verwendeten Bibliotheken nicht mit Java 8 kompatibel sind. Um dies zu lösen, fügen Sie diese beiden Zeilen zu build.gradle Ihrer App und allen Submodulen hinzu, falls vorhanden. (Android Studio zeigt in der Fehlermeldung deutlich, wie das geht)
quelle