Android java.exe beendet mit einem Exit-Wert ungleich Null 1 [geschlossen]


117

Ich habe versucht, ähnliche zu betrachten, und keine Lösung hat funktioniert. Ich habe zuvor problemlos Apps ausgeführt, aber meine neue App hat mir plötzlich Probleme bereitet. Es schlägt immer fehl, wenn ich versuche, es auszuführen und zu sagen:

Error:Execution failed for task ':app:preDexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1

Die Konsole zeigt Folgendes an:

Executing tasks: [:app:assembleDebug]

Configuration on demand is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava UP-TO-DATE
:app:preDexDebug
AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual        Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}

AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}


FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDexDebug'.
com.android.ide.common.process.ProcessException:     org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.614 secs

AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}

Diese App ist sehr einfach und ich habe sie nicht viel vom Lagerlayout geändert. Es ist nur für Lutscher konzipiert und verwendet nur Standardfunktionen. Hier ist das build.gradle:

apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.0"

defaultConfig {
    applicationId "com.package.app"
    minSdkVersion 21
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:22.0.0'
}

Beachten Sie, dass dies ein Problem mit dem Aufbau Ihre Anwendung, nicht mit ihm laufen - obwohl natürlich Sie erfolgreich an einem gewissen Punkt zu bauen geschaffen haben , bevor Sie es ausführen können.
Chris Stratton

@ Rand, hast du eine Lösung gefunden? Ich habe das gleiche Problem, ich habe eine 32-Bit-Konfiguration, ich denke, das ist das Problem.
Narendrasinh Dodiya

Dieser Fehler ist ziemlich ärgerlich und nichts scheint zu helfen -.-
Martin Pfeffer

Durchsuchen Sie Ihre layout.xml und suchen android:shadowRadius="4dp" und löschen Sie sie.
Meyasir

Antworten:


56

Hatte den gleichen Fehler aufgetreten, der auf widersprüchliche ziehbare Ressourcen zurückzuführen war. Ich habe ein sauberes Projekt durchgeführt und der Fehler wurde nicht mehr festgestellt.


das hat bei mir funktioniert. Ich hatte Exit-Fehler 2
Hadi

1
Was, so einfach! Ich hatte Exit-Fehler 1. Muss eine Verwechslung zwischen dem Team über Git gewesen sein
Sindri Þór

Wie SindriÞór hatte auch ich den Exit-Fehler 1 und dies hat ihn für mich gelöst. Letzte Stunde war nichts als Kopfschmerzen, danke @Kennth!
Davewoodhall

1
@ Kenneth funktioniert nicht ..!
user5716019

das funktioniert nicht bei mir
jose920405

16

Nach vielem Surfen stellte ich fest, dass das Problem der GC-Overhead ist (nicht genügend Speicher). Durch Hinzufügen des folgenden Codes zu meinem build.gradle wurde mein Tag gerettet.

android {

    dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" // 2g should be also OK
    }

}

Referenz - ProcessException: org.gradle.process.internal.ExecException wurde mit einem Exit-Wert ungleich Null 2 ​​beendet


Was ist g? Gigabyte?
Subby

@Subby Es ist nur eine Option, den maximalen Speicherzuweisungspool für eine Java Virtual Machine (JVM) für den Dex-Betrieb anzugeben. ref - stackoverflow.com/questions/33750404/…
Duke1992

2
DexOptions.incrementalist veraltet und wird Ende 2018 entfernt
HendraWD

13

Es muss ein Problem mit meiner Java-Installation gewesen sein. Ich habe alle Spuren von Java (C: // Programmdateien / Java / jdk) und jre-Ordnern entfernt und von der offiziellen Seite neu installiert, und jetzt funktioniert es einwandfrei .


1
Wie hast du das gemacht? Bitte geben Sie weitere Details
Sami Eltamawy

1
Gehen Sie in die Systemsteuerung und deinstallieren Sie alle Versionen von Java. Installieren Sie dann die neueste Version neu.
Rand

1
hat bei mir nicht funktioniert ..
Alex Kapustian

Sie können "JavaRa" versuchen, um Spuren von Java zu entfernen. Ich bin mir nicht sicher, ob es hilft.
Android-Entwickler


12

Vielleicht können Sie Ihre buildToolsVersion-Nummer ändern.

das ist mein Problem:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\ProgramTools\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

mein build.gradle:

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "com.pioneers.recyclerviewitemanimation"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

Ich ändere einfach buildToolsVersion in buildToolsVersion "23.0.2" und das Problem wurde gelöst.


Das war auch meine Lösung, ich überprüfe nur ein altes Projekt und vergleiche build.gradle und setze den gleichen Wert von buildToolsVersion "23.0.1"
Youri

hat bei mir funktioniert .... :-) Problem war, als ich ein neues Projekt erstellt habe.
Rumit Patel

11

Problem RAM . Ich hatte eine ähnliche Nachricht in meinem Messages Gradle Build

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal. 
ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' 
finished with non-zero exit value 1

Warum: Ich hatte keinen freien RAM auf meinem Laptop mit dem Betriebssystem Windows 8.1.

Lösung: Ich habe einige Programme geschlossen, die ich nicht benötige. Danach hatte ich mehr freien RAM und mein Projekt wurde in Android Studio gebaut.


1
Ja, vor dem Fehler zeigt es einen Dialog "nicht genug Momory ..." Ich erinnere mich nicht an Nachricht extrahieren
vuhung3990

8

In meinem Fall bestand die Lösung darin, Android Studio zu schließen und die Java-Prozesse zu beenden, was sehr groß war (1,2 GB). Danach läuft mein Projekt normal (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4 GB RAM).


Hatte noch nicht einmal daran gedacht. Hat für mich gearbeitet. Ein einfacher Neustart von AS (wie 4 Mal) hat nichts gebracht.
Gatlingxyz

Vielen Dank! Es funktionierte wie ein Zauber.
Jackcar

Mac hat mein Login abgestürzt (kein vollständiger Neustart). Beim erneuten Anmelden wurden alle laufenden Apps neu gestartet und der Java-Prozess in einen seltsamen Zombie-Zustand versetzt (meine beste Vermutung). Das Beenden des Java-Prozesses im Aktivitätsmanager hat das Problem behoben. Vielen Dank!
andymeadows

Vielen Dank! Die Lösung besteht darin, Android Studio zu schließen.
Pengguang001

7

Lösung

1. Reinigen Sie das Projekt einfach und überprüfen Sie, ob es funktioniert oder nicht

2. Starten Sie Android Studio einfach neu, nachdem Sie alle Müllaufgaben geschlossen haben

3.Wenn beide oben genannten Dinge nicht funktionieren, fügen Sie dies in die Datei gradle.build ein

android {

    dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" 
    }

}

nett und 3 arbeiten.
Surendar D

6

Ich hatte das gleiche Problem, nachdem ich den Eispickel der Bibliothek zu meinen Gradle-Abhängigkeiten hinzugefügt hatte. Nach dem Entfernen der Abhängigkeit scheint alles in Ordnung zu sein. Sobald ich weiß, warum dieses Problem aufgetreten ist, schreibe ich hier erneut


4
Hier gilt das gleiche. Das Update sollte providedanstelle compileder processorAbhängigkeit verwendet werden. Siehe dieses Ticket .
Theblang

5

Verwenden Sie die Option assembleandroidtestwie im Bild unten. So können Sie mehr über den aufgetretenen Fehler erfahren:

Geben Sie hier die Bildbeschreibung ein


Schöne Lösung !!! um das genaue Problem herauszufinden !!!
Ranjith Kumar

Danke, es ist perfekt
Prinkal Kumar

3

Nach dem Hinzufügen einer JAR-Datei zum lib-Ordner eines Projekts und nach dem Hinzufügen zur Datei build.gradle als Beispiel für den Kompilierungspfad beim Synchronisieren des Gradles wird eine zusätzliche Zeile als Kompilierungsdateien ('libs / example.jar') hinzugefügt . Sie müssen nur die Zeile entfernen, die Sie zuvor zur Datei build.gradle hinzugefügt haben, dh das Kompilierungspfadbeispiel nach der Gradle-Synchronisierung. Sie müssen auch die Zeile compile fileTree entfernen (dir: 'libs', include: '* .jar')


In Ihrem Fall entfernen Sie einfach die Zeile compile fileTree (dir: 'libs', include: ['* .jar']). Hoffe, es wird gut für Sie funktionieren.
Punit Sharma

Das hat auch bei mir funktioniert. Ich weiß nicht, warum dies für mich so schwierig ist. IOS, Abhängigkeiten hinzuzufügen und diese zu verwalten, ist viel einfacher.
JMStudios.jrichardson

3
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

füge dies deinem gradle Build hinzu. Es hat bei mir funktioniert


2
das funktioniert bei mir nicht
letdev-cwack

@ letdev-cwack hattest du das gleiche problem ??
Ashok Varma

3

Die Antwort für mich war, Speicher für den Erstellungsprozess freizugeben, die Programmierung zu schließen oder den Computer neu zu starten (win10 scheint den Speicher schlechter zu verwalten als win7).

Warum hat es für mich behoben?

Während des Builds findet Android Studio nicht genügend Speicher zum Kompilieren, zeigt jedoch keinen Fehler an . Der Fehler: app: preDexDebug trat gerade auf, als ich versuchte, die kompilierte App auf das Telefon hochzuladen.

Manchmal konnte ich diesen Punkt durchstehen (keine App: preDexDebug-Fehler), aber als ich die Anwendung auf Android ausführte, bekam ich "ClassNotFound" -Ausnahmen. Dies war der Anhaltspunkt dafür, dass Android Studio während des Builds nicht alle meine Dateien kompilierte, da nicht genügend Speicher vorhanden war (Win10 forderte mich auf, Android Studio zu schließen, um Speicher während des Builds zu sparen), obwohl die IDE mir zeigte, dass der Build erfolgreich war .


Dies ist eher eine Frage zu den Ausnahmen oder ein Kommentar als eine Antwort. Wenn dies eine Antwort ist, geben Sie bitte an, wie Sie alle Ausnahmen behoben haben, über die Sie sprechen. Wenn es sich um eine neue Frage handelt, stellen Sie eine neue Frage zu der zuvor gestellten Frage.
Ram

Vielen Dank für das Feedback, habe versucht, mich klar zu machen. Ich beherrsche kein Englisch, aber ich habe einige Stunden mit diesem Problem verbracht und beschlossen, das zu posten, was für mich funktioniert hat. ;-)
Fabio de Toledo

3

Das Reinigen und Umbauen des Projekts funktioniert für mich. Im Android Studio:

Build -> Clean Project 
Build -> Rebuild Project

Siehe Link


1
es funktioniert nicht für mich :(
Kairi San

1

Ich habe praktisch alles versucht, bis ich versucht habe, das Skript aufgrund eines Fehlers in der Befehlszeile auszuführen:

dx.bat -JXmx1536m --dex --output \build\intermediates\pre-dexed\debug\classes-01b5c6cd66151f573da9773c18af55d10736a24e.jar build\intermediates\exploded-aar\aaa-release\classes.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Dann habe ich die Speichereinstellung des Entwicklers im Gradle-Skript auskommentiert:

//        javaMaxHeapSize "1536m"

und ich konnte diesen Fehler weitergeben. Ich muss den Arbeitsspeicher meines Laptops erhöhen.


Wie haben Sie javaMaxHeapSize eingestellt? Ich habe es mit gradle.properties festgelegt, aber es funktioniert nur für gradle daemon.
Sarowar

1
javaMaxHeapSize ist eine Eigenschaft unter android.dexOptions. Ich hatte es selbst bei 3 GB bei einer Win10-Installation mit 16 GB RAM. Durch Verringern auf 1 oder Entfernen wurde es (ironischerweise) für mich
behoben

Ja, auch seltsamerweise hat es funktioniert, es in meinem Projekt von 3 GB auf 1 GB zu reduzieren. Ich habe viel RAM so sehr seltsam.
Zaifrun

1

Sie müssen alle Blöcke in SDK Manager (Support Library usw.), alle nicht aktualisierten Bibliotheken und Pakete aktualisieren. Danach müssen Sie Gradle-Dateien mit dem Projekt synchronisieren und sich freuen!


1

In meinem Fall hat die Einstellung der maximalen Java-Heap-Größe von 2 g bis 1 g funktioniert.

Fügen Sie der build.gradle-Datei des Anwendungsmoduls Folgendes hinzu

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}

1

Diese Lösung funktioniert für mich

Installieren Sie Java JDK 8.

Gehen Sie dann zu Extras-> Optionen -> Extras für Apache Cordova-> Umschreibungen von Umgebungsvariablen und setzen Sie den Pfad zu Ihrem JDK auf "C: \ Programme \ java \ jdk1.8.0_121", um Java 8 anstelle von Java 7 zu erhalten.

Weitere Informationen finden Sie unter http://www.developersite.org/103-141954-android


1

Experimentell fand ich Weg:

App erweitert Anwendung nicht MultiDexApplication

und entfernen

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

von gradle.properties


0

Ich habe diesen Fehler erhalten, nachdem ich mein Projekt von meinem Laptop auf meinen Desktop in Android Studio übertragen habe.

Meine Lösung bestand darin, Android Studio neu zu starten, dann das Projekt zu bereinigen und schließlich das Projekt auszuführen.


0

Ich hatte das gleiche Problem, nachdem ich jede der Antworten hier ausprobiert hatte, bemerkte ich, dass ein Paket, das ich umbenannt hatte, nicht in einer Klasse umbenannt worden war, die es importierte. Ich habe den Namen behoben und das Problem sofort gelöst.


0

Dies ist wahrscheinlich darauf zurückzuführen, dass Ihre App die Anzahl der 65.000 Methoden überschreitet und somit einen Dex-Fehler verursacht. Es gibt keine andere Lösung als das Aktivieren von Multidexing in Ihrer App.


0

Nun, damit können viele Probleme verbunden sein. Überprüfen Sie zunächst, ob Sie einige Dateipositionierungen durcheinander gebracht haben. Zum Beispiel habe ich eine Nicht-XML-Datei in einen Animationsordner gelegt, was nicht erlaubt ist. Überprüfen Sie also, ob Ihnen solche Dinge auch passiert sind.


0

Haben Sie Multidexing aktiviert? Erweitern Sie Ihre Hauptanwendungsklasse mit MultiDexApplication. Ich habe vor dem Fehler eine zusätzliche Ausnahmemeldung erhalten. Sie sind wie folgt.

Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
2 errors; aborting

Dies zeigt deutlich, dass der Fehler aufgrund von Speichermangel aufgetreten ist. Versuche Folgendes:

  1. Erweitern Sie Ihre Hauptanwendungsklasse mit MultiDexApplication.
  2. Schließen Sie nicht verwendete Anwendungen aus dem Hintergrund und starten Sie Android Studio neu.

Dies wird den Trick machen;)


0

Gib dieser Mutter eine Chance:

 dependencies {
        classpath 'com.android.tools.build:gradle:1.4.0-beta6'
    }

Vergessen Sie nicht, Lesezeichen diese .


0

Ich hatte gerade das gleiche Problem und es stellte sich heraus, dass es durch einen Fehler verursacht wurde attrs.xml Datei in einem meiner Module verursacht wurde. Die Datei hatte anfangs zwei stilisierbare Attribute für eine meiner benutzerdefinierten Ansichten, aber ich hatte eines gelöscht, als sich herausstellte, dass ich es nicht mehr brauchte. Dies wurde jedoch anscheinend nicht korrekt bei der IDE registriert, sodass der Build fehlschlug, als das Attribut nicht gefunden werden konnte.

Die Lösung für mich bestand darin, das Attribut erneut hinzuzufügen, eine auszuführen, clean projectnach der der Build erfolgreich war, und das Attribut ohne weitere Probleme erfolgreich wieder zu entfernen.

Hoffe das hilft jemandem.


0

Es gibt viele Gründe, die dazu führen

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Prozess 'Befehl' C: \ Programme \ Java \ jdk1.8.0_60 \ bin \ java.exe '' beendet mit einem Exit-Wert ungleich Null 1

Wenn Sie das Dex-Limit nicht erreichen, aber einen ähnlichen Fehler erhalten Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}

Versuchen Sie, Proguard zu deaktivieren. Wenn es ohne Probleme kompiliert werden kann, müssen Sie herausfinden, welche Bibliothek es verursacht hat, und es der proguard-rules.proDatei hinzufügen

In meinem Fall tritt dieses Problem auf, wenn ich auf aktualisiert compile 'com.google.android.gms:play-services-ads:8.3.0'habecompile 'com.google.android.gms:play-services-ads:8.4.0'

Eine der Problemumgehungen ist, dass ich dies zur proguard-rules.proDatei hinzugefügt habe

## Google AdMob specific rules ##
## https://developers.google.com/admob/android/quick-start ##

-keep public class com.google.ads.** {
   public *;
}

Android Studio


0

Ich löse dieses Problem mit einem Scherz. Ich habe zwei Klassen mit Namen startDlund StartDl. Ich ändere einfach einen von ihnen StartDownloadund mein Problem ist gelöst. Ressourcen können auch einen Namen haben, der bereits für weitere Ressourcen im Projekt reserviert ist. benenne einfach ähnliche Namen in andere um.


-1

Alles, was Sie tun müssen, ist, einen Teil des laufenden Prozesses abzubrechen und den Speicherplatz auf Ihrem Speicher (RAM) freizugeben. Sie können versuchen, einige der Programme mit hohem Speicherbedarf zu schließen. Sie können auch versuchen, Android Studio neu zu starten. Es hat bei mir funktioniert.


-2

Entfernen Sie die Linie:

('com.android.support:support-v4:22.0.0')

Aus Abhängigkeiten (in build.gradle):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.0.0'
}

11
Und warum denkst du, würde es funktionieren, bitte erkläre, damit wir verstehen
Aman Alam

-2

Bei mir funktioniert das:

defaultConfig {
    multiDexEnabled true
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.