Android java.exe ha terminato con un valore di uscita diverso da zero 1 [chiuso]


117

Ho provato a guardare quelli simili e nessuna soluzione ha funzionato. In precedenza ho eseguito app senza problemi, ma la mia nuova app ha iniziato improvvisamente a darmi problemi. Fallisce sempre quando provo a eseguirlo dicendo:

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

Ecco cosa ha mostrato la console:

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."}

Questa app è molto semplice e non l'ho modificata molto rispetto al layout di serie. È progettato solo per lecca-lecca e utilizza solo funzionalità di serie. Ecco il 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'
}

Nota che questo è un problema con la creazione della tua app, non con la sua esecuzione, anche se ovviamente devi essere riuscito a crearla con successo a un certo punto prima di poterla eseguire.
Chris Stratton

@Rand, hai trovato qualche soluzione? Sto affrontando lo stesso problema, ho una configurazione a 32 bit, immagino che questo sia il problema.
Narendrasinh Dodiya

Questo bug è abbastanza fastidioso e nulla sembra aiutare -.-
Martin Pfeffer

Cerca il tuo layout.xml e trovalo android:shadowRadius="4dp" ed eliminalo.
meyasir

Risposte:


56

Si è verificato lo stesso errore dovuto a risorse disegnabili in conflitto. Ho eseguito un progetto pulito e l'errore non è stato più riscontrato.


questo ha funzionato per me. ho riscontrato l'errore di uscita 2
hadi

1
Wh00t, così semplice! Ho avuto un errore di uscita 1 .. Dev'essere stato un po 'di confusione tra la squadra tramite git
Sindri Þór

Come SindriÞór ho anche avuto l'errore di uscita 1 e questo lo ha risolto per me. L'ultima ora non è stata altro che mal di testa, grazie @Kennth!
davewoodhall

1
@ Kenneth non funziona ..!
user5716019

questo non funziona per me
jose920405

16

Dopo un sacco di navigazione, ho scoperto che il problema è l'overhead del GC (memoria esaurita). Aggiungendo il codice seguente al mio build.gradle mi ha salvato la giornata.

android {

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

}

riferimento - ProcessException: org.gradle.process.internal.ExecException terminato con valore di uscita 2 diverso da zero


Cosa g? Gigabyte?
Subby

@Subby È solo un'opzione per specificare il pool di allocazione di memoria massima per una JVM (Java Virtual Machine) per l'operazione dex. ref - stackoverflow.com/questions/33750404/...
Duke1992

2
DexOptions.incrementalè obsoleto e verrà rimosso alla fine del 2018
HendraWD

13

Deve essere stato un problema con la mia installazione di Java. Ho rimosso tutte le tracce di Java (C: // file di programma / Java / jdk) e le cartelle jre e l'ho reinstallato dalla pagina ufficiale e ora funziona bene.


1
Come hai fatto? Si prega di fornire maggiori dettagli
Sami Eltamawy

1
Vai nel pannello di controllo e disinstalla tutte le versioni di Java. Quindi reinstallare l'ultimo.
Rand

1
non ha funzionato per me ..
Alex Kapustian

Puoi provare "JavaRa" per rimuovere le tracce di Java. Non sono sicuro se aiuta però.
sviluppatore Android

Nel caso in cui si dispone di più JDK installato (per qualsiasi motivo), assicurarsi studio si utilizza quella giusta: stackoverflow.com/a/30631386/1544046
JCricket

12

Forse puoi cambiare il tuo buildToolsVersion num.

questo è il mio problema:

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

il mio 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'
        }
    }
}

Ho appena cambiato buildToolsVersion in buildToolsVersion "23.0.2" e il problema è stato risolto.


Questa era anche la mia soluzione, ho appena controllato un vecchio progetto e confrontato build.gradle e impostato lo stesso valore di buildToolsVersion "23.0.1"
Youri

ha funzionato per me .... :-) il problema era quando ho creato un nuovo progetto.
Rumit Patel

11

Problema RAM . Avevo un messaggio simile nel mio 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

Perché: non avevo RAM libera sul mio laptop con il sistema operativo Windows 8.1.

Soluzione: ho chiuso alcuni programmi che non mi servono. Dopodiché, avevo più RAM libera e il mio progetto è stato creato in Android Studio.


1
sì, prima dell'errore mostra una finestra di dialogo "non abbastanza memoria ..." non ricordo l'estrazione del messaggio
vuhung3990

8

Nel mio caso, la soluzione era chiudere Android Studio e uccidere i processi java, che erano molto grandi (1,2 GB). Dopo questo, il mio progetto funziona normalmente (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4GB Ram).


Non ci avevo nemmeno pensato. Ha funzionato per me. Il semplice riavvio di AS (come 4 volte) non ha fatto nulla.
gatlingxyz

Grazie! Ha funzionato come un fascino.
autotreno

Il Mac ha bloccato il mio login (non un riavvio completo). Al momento dell'accesso, tutte le app in esecuzione sono state riavviate mettendo il processo Java in uno strano stato di zombi (la mia ipotesi migliore). L'arresto del processo Java in Gestione attività ha risolto il problema. Grazie!
andymeadows

Grazie! La soluzione è chiudere Android Studio.
pengguang001

7

Soluzione

1.Basta pulire il progetto e verificarne il funzionamento o meno

2.Basta riavviare Android Studio dopo aver chiuso tutte le attività di spazzatura

3.Se entrambe le cose precedenti non funzionano, aggiungilo nel file gradle.build

android {

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

}

bello e 3 uno funzionante.
Surendar D

6

Ho avuto lo stesso problema dopo aver aggiunto la libreria icepick alle mie dipendenze gradle. Dopo aver rimosso la dipendenza, tutto sembra andare bene. Non appena saprò perché è apparso questo problema, scriverò di nuovo qui


4
Anch'io. La correzione era da usare providedinvece che compileper la processordipendenza. Vedi questo biglietto .
theblang

5

Usa l'opzione assembleandroidtestcome nell'immagine qui sotto. Quindi puoi scoprire di più sull'errore che si è verificato:

inserisci qui la descrizione dell'immagine


Bella soluzione !!! per scoprire il problema esatto !!!
Ranjith Kumar

Grazie, è perfetto
Prinkal Kumar

3

Dopo aver aggiunto un file jar alla cartella lib di un progetto e dopo averlo aggiunto al file build.gradle come compile'path example ' quando sincronizzi il gradle, aggiunge una riga aggiuntiva come file di compilazione (' libs / example.jar ') . Hai solo bisogno di rimuovere la riga che hai precedentemente aggiunto al file build.gradle cioè il compile'path example 'dopo la sincronizzazione gradle. È inoltre necessario rimuovere la riga compile fileTree (dir: 'libs', include: '* .jar')


Nel tuo caso è sufficiente rimuovere la riga compile fileTree (dir: 'libs', include: ['* .jar']). Spero che funzioni bene per te.
Punit Sharma

Questo ha funzionato anche per me. Non so perché è così difficile per me iOS aggiungere dipendenze e gestirle è decisamente più semplice.
JMStudios.jrichardson

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

aggiungilo al tuo gradle Build. Ha funzionato per me


2
non funziona per me
letsdev-cwack

@ letsdev-cwack hai avuto lo stesso problema ??
Ashok Varma

3

La risposta per me era liberare memoria per il processo di compilazione, chiudendo la programmazione o riavviando la macchina (win10 sembra gestire la memoria peggio di win7)

Perché è stato risolto per me?

Durante la compilazione, Android Studio non trova memoria sufficiente per la compilazione ma non mostra alcun errore . L'errore: app: preDexDebug si è verificato proprio quando ho provato a caricare l'app compilata sul telefono.

A volte sono riuscito a superare questo punto (nessuna app: errore preDexDebug), ma durante l'esecuzione dell'applicazione su Android ho ricevuto eccezioni "ClassNotFound". Questo è stato l'indizio per scoprire che android studio non stava compilando tutti i miei file durante la compilazione a causa della mancanza di memoria (win10 mi ha chiesto di chiudere android studio per risparmiare memoria durante la compilazione), anche se l'IDE mi mostrava che la compilazione era riuscita .


Questa è più una domanda sulle eccezioni o un commento piuttosto che una risposta. Se questa è una risposta, menziona come hai risolto tutte le eccezioni di cui parli, se questa è una nuova domanda, fai una nuova domanda sulla precedente che stai ricevendo.
Ram

Grazie per il feedback, ho cercato di chiarirmi. Non padroneggio l'inglese, ma ho passato alcune ore in questo problema che ho deciso di pubblicare ciò che ha funzionato per me. ;-)
Fabio de Toledo

3

Pulire e ricostruire il progetto funziona per me. Nello studio Android:

Build -> Clean Project 
Build -> Rebuild Project

Fare riferimento al collegamento


1
per me non funziona :(
Kairi San

1

Ho provato praticamente di tutto fino a quando non ho provato a eseguire lo script da errore nella riga di comando:

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.

Quindi ho commentato l'impostazione della memoria dello sviluppatore nello script gradle:

//        javaMaxHeapSize "1536m"

e sono stato in grado di superare questo errore. Ho bisogno di aumentare la RAM nel mio laptop.


come hai impostato javaMaxHeapSize? L'ho impostato usando gradle.properties, ma funziona solo per gradle daemon.
Sarowar

1
javaMaxHeapSize è una proprietà in android.dexOptions. L'ho avuto a 3 GB da solo in un'installazione di Win10 con 16 GB di RAM. Diminuendolo a 1 o rimuovendolo lo ha risolto (ironicamente) per me
Nilzor

Sì, anche abbastanza stranamente diminuendolo a 1 GB nel mio progetto da 3 GB ha funzionato. Ho molta RAM in modo molto strano.
zaifrun

1

È necessario aggiornare tutti i blocchi in SDK Manager (libreria di supporto, ecc.), Tutte le librerie ei pacchetti non aggiornati. Dopo questo è necessario sincronizzare i file gradle con il progetto e gioire!


1

Nel mio caso l'impostazione di Java Max Heap Size da 2g a 1g ha funzionato.

Aggiungi quanto segue al file build.gradle del modulo dell'applicazione

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}

1

Questa soluzione funziona per me

Installa Java JDK 8.

Quindi, vai su Strumenti-> Opzioni -> Strumenti per Apache Cordova-> Sostituzioni variabili d'ambiente e imposta il percorso del tuo JDK su "C: \ Programmi \ java \ jdk1.8.0_121" per ottenere Java 8 invece di Java 7.

per maggiori informazioni http://www.developersite.org/103-141954-android


1

Sperimentale ho trovato il modo:

L'app estende l'applicazione non MultiDexApplication

e rimuovi

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

da gradle.properties


0

Ho ricevuto questo errore dopo aver trasferito il mio progetto dal mio laptop al mio desktop in Android Studio.

La mia soluzione era riavviare Android Studio, quindi pulire il progetto e infine eseguire il progetto.


0

Ho avuto lo stesso problema, dopo aver provato ciascuna delle risposte qui, ho notato che un pacchetto che avevo rinominato non era stato rinominato in una classe che lo importava. Ho corretto il nome e ho risolto immediatamente il problema.


0

Ciò è probabilmente dovuto al fatto che la tua app supera il conteggio del metodo di 65k, causando così un errore di dex. Non c'è altra soluzione, oltre ad abilitare il multidex nella tua app.


0

Ebbene ci possono essere molti problemi ad esso associati. Prima di tutto controlla se hai sbagliato con alcuni posizionamenti di file. ad esempio, quello che ho fatto è aver inserito un file non xml nella cartella anim, che non è consentito. Quindi controlla se queste cose sono successe anche a te.


0

Hai abilitato il multidexing ?. Estendi la tua classe principale di applicazioni con MultiDexApplication. Ho ricevuto un messaggio di eccezione aggiuntivo prima dell'errore. Sono i seguenti.

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

Questo indica chiaramente che l'errore si è verificato a causa della memoria insufficiente. Prova quanto segue:

  1. estendi la tua classe principale di applicazioni con MultiDexApplication.
  2. chiudere le applicazioni inutilizzate dallo sfondo e riavviare Android Studio.

Questo farà il trucco;)


0

Dai una possibilità a questa madre:

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

Non dimenticare di aggiungere questo segnalibro .


0

Ho avuto lo stesso problema solo ora, e si è scoperto essere causato da un attrs.xmlfile difettoso in uno dei miei moduli. Il file inizialmente aveva due attributi stilabili per una delle mie visualizzazioni personalizzate, ma ne avevo eliminato uno quando si è scoperto che non ne avevo più bisogno. Questo apparentemente, tuttavia, non è stato registrato correttamente con l'IDE e quindi la compilazione non è riuscita quando non è stato possibile trovare l'attributo.

La soluzione per me era aggiungere nuovamente l'attributo, eseguire un file clean project dopodiché la compilazione è riuscita e avrei potuto rimuovere nuovamente l'attributo con successo senza ulteriori problemi.

Spero che questo aiuti qualcuno.


0

Ci sono molte ragioni che portano a

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Processo 'comando' C: \ Program Files \ Java \ jdk1.8.0_60 \ bin \ java.exe '' terminato con un valore di uscita diverso da zero 1

Se non stai raggiungendo il limite dex ma ricevi un errore simile a questo Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}

Prova a disabilitare proguard, se riesce a compilare senza problemi, dovrai capire quale libreria lo ha causato e aggiungerlo a proguard-rules.pro file

Nel mio caso questo problema si verifica quando ho aggiornato compile 'com.google.android.gms:play-services-ads:8.3.0'acompile 'com.google.android.gms:play-services-ads:8.4.0'

Una delle soluzioni alternative è che ho aggiunto questo al proguard-rules.profile

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

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

Android Studio


0

Risolvo questo problema in modo scherzoso. Ho due classi con nomi startDle StartDl. Ne cambio uno in StartDownloade il mio problema è risolto. le risorse possono anche avere un nome che è già riservato con altre risorse nel progetto. basta rinominare nomi simili in diversi.


-1

Tutto quello che devi fare è terminare parte del processo in esecuzione e liberare spazio sulla memoria (RAM). Puoi provare a chiudere alcuni dei programmi che consumano molta memoria. Puoi anche provare a riavviare Android Studio. Ha funzionato per me.


-2

Rimuovi la riga:

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

Dalle dipendenze (in build.gradle):

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

12
E perché pensi che potrebbe funzionare, per favore spiegalo in modo che capiamo
Aman Alam

-2

Per me funziona:

defaultConfig {
    multiDexEnabled true
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.