Android java.exe terminé avec une valeur de sortie différente de zéro 1 [fermé]

117

J'ai essayé de regarder des solutions similaires et aucune solution n'a fonctionné. J'ai déjà exécuté des applications sans problème, mais ma nouvelle application a soudainement commencé à me poser des problèmes. Cela échoue toujours lorsque j'essaye de l'exécuter en disant:

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

Voici ce que la console a affiché:

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

Cette application est très simple et je ne l'ai pas beaucoup modifiée par rapport à la disposition du stock. Il est conçu uniquement pour la sucette et n'utilise que des fonctionnalités d'origine. Voici le 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'
}
Rand
la source
Notez que c'est un problème avec la construction de votre application, pas avec son exécution - bien que, bien sûr, vous devez réussir à construire avec succès à un moment donné avant de pouvoir l'exécuter.
Chris Stratton
@Rand, avez-vous trouvé une solution? Je suis confronté au même problème, j'ai une configuration 32 bits, je suppose que c'est le problème.
Narendrasinh Dodiya
Ce bug est assez ennuyeux et rien ne semble aider -.-
Martin Pfeffer
Recherchez votre layout.xml et trouvez-le android:shadowRadius="4dp" et supprimez-le.
meyasir

Réponses:

56

La même erreur s'est produite qui était due à des ressources tirables en conflit. J'ai fait un projet propre et l'erreur n'a plus été rencontrée.

Kenneth
la source
cela a fonctionné pour moi. J'ai eu une erreur de sortie 2
hadi
1
Wh00t, si simple! J'ai eu une erreur de sortie 1. Il doit y avoir eu une confusion entre l'équipe via git
Sindri Þór
Comme SindriÞór, j'ai également eu l'erreur de sortie 1 et cela l'a résolu pour moi. La dernière heure n'était que des maux de tête, merci @Kennth!
davewoodhall
1
@Kenneth ne fonctionne pas ..!
user5716019
cela ne fonctionne pas pour moi
jose920405
16

Après beaucoup de surf, j'ai découvert que le problème était la surcharge GC (mémoire insuffisante). En ajoutant le code ci-dessous à mon build.gradle a sauvé ma journée.

android {

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

}

reference - ProcessException: org.gradle.process.internal.ExecException terminé avec une valeur de sortie différente de zéro 2

Duke1992
la source
Quoi g? Gigabyte?
Subby le
@Subby Il s'agit simplement d'une option permettant de spécifier le pool d'allocation de mémoire maximum pour une machine virtuelle Java (JVM) pour l'opération dex. ref - stackoverflow.com/questions/33750404/…
Duke1992
2
DexOptions.incrementalest obsolète et sera supprimé fin 2018
HendraWD
13

Cela a dû être un problème avec mon installation Java. J'ai supprimé toutes les traces de dossiers Java (C: // program files / Java / jdk) et jre et je l'ai réinstallé à partir de la page officielle et maintenant cela fonctionne bien.

Rand
la source
1
Comment as-tu fait ça? Veuillez fournir plus de détails
Sami Eltamawy
1
Accédez au panneau de configuration et désinstallez toutes les versions de Java. Puis réinstallez le dernier.
Rand
1
n'a pas fonctionné pour moi ..
Alex Kapustian
Vous pouvez essayer "JavaRa" pour supprimer les traces de Java. Je ne sais pas si cela aide cependant.
développeur android
Si vous avez plusieurs JDK installés (pour une raison quelconque), assurez-vous que le studio utilise le bon: stackoverflow.com/a/30631386/1544046
JCricket
12

Vous pouvez peut-être changer votre numéro de buildToolsVersion.

c'est mon problème:

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

mon 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'
        }
    }
}

Je viens de changer buildToolsVersion en buildToolsVersion "23.0.2" et le problème a été résolu.

Shaun
la source
C'était ma solution aussi, je viens de vérifier un ancien projet et comparé build.gradle et mis à la même valeur de buildToolsVersion "23.0.1"
Youri
a travaillé pour moi .... :-) problème était quand j'ai créé un nouveau projet.
Rumit Patel
11

Problème de RAM . J'ai eu un message similaire dans mes 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

Pourquoi: je n'avais pas de RAM libre sur mon ordinateur portable avec le système d'exploitation Windows 8.1.

Solution: j'ai fermé quelques programmes dont je n'ai pas besoin. Après cela, j'avais plus de RAM libre et mon projet a été construit dans le studio Android.

Malder
la source
1
ouais, avant l'erreur, il affiche une boîte de dialogue "pas assez de momory ..." je ne me souviens pas extraire le message
vuhung3990
8

Dans mon cas, la solution était de fermer Android Studio et de tuer les processus java, ce qui était très gros (1,2 Go). Après cela, mon projet fonctionne normalement (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4GB Ram).

Misael Barreto
la source
J'avais même pas pensé à ça. A travaillé pour moi. Le simple fait de redémarrer AS (comme 4 fois) n'a rien fait.
gatlingxyz
Merci! Ça a marché comme sur des roulettes.
jackcar
Mac a planté ma connexion (pas un redémarrage complet). En se reconnectant, toutes les applications en cours d'exécution ont redémarré, mettant le processus Java dans un état de zombie étrange (ma meilleure estimation). La suppression du processus Java dans le gestionnaire d'activités a résolu le problème. Merci!
andymeadows
Merci! La solution consiste à fermer Android Studio.
pengguang001
7

Solution

1.Nettoyez simplement le projet et vérifiez son fonctionnement ou non

2.Redémarrez simplement Android Studio après avoir fermé toutes les tâches poubelles

3.Si les deux éléments ci-dessus ne fonctionnent pas, ajoutez-le dans le fichier gradle.build

android {

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

}
SHINTO JOSEPH
la source
agréable et 3 un travail.
Surendar D
6

J'ai eu le même problème après avoir ajouté la bibliothèque icepick à mes dépendances gradle. Après avoir supprimé la dépendance, tout semble aller bien. Dès que je sais pourquoi ce problème est apparu, j'écrirai à nouveau ici

ChanceuxMalaka
la source
4
Pareil ici. Le correctif consistait à utiliser à la providedplace de compilepour la processordépendance. Voir ce ticket .
theblang
5

Utilisez l'option assembleandroidtestcomme dans l'image ci-dessous. Vous pouvez donc en savoir plus sur l'erreur survenue:

entrez la description de l'image ici

Iman Marashi
la source
Belle solution !!! pour découvrir le problème exact !!!
Ranjith Kumar
Merci, c'est parfait
Prinkal Kumar
3

Après avoir ajouté un fichier jar au dossier lib d'un projet et après l'avoir ajouté au fichier build.gradle comme compile'path example ' lorsque vous synchronisez le gradle, il ajoute une ligne supplémentaire en tant que fichiers de compilation (' libs / example.jar ') . Il vous suffit de supprimer la ligne que vous avez précédemment ajoutée au fichier build.gradle, c'est-à-dire le compile'path example 'après la synchronisation gradle. Vous devez également supprimer la ligne compile fileTree (dir: 'libs', include: '* .jar')

Punit Sharma
la source
Dans votre cas, supprimez simplement la ligne compile fileTree (dir: 'libs', include: ['* .jar']). J'espère que cela fonctionnera bien pour vous.
Punit Sharma du
Cela a fonctionné pour moi aussi. Je ne sais pas pourquoi c'est si difficile pour moi d'ajouter des dépendances iOS et de les gérer est beaucoup plus simple.
JMStudios.jrichardson
3
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

ajoutez ceci à votre build gradle. Ça a marché pour moi

Ashok Varma
la source
2
cela ne fonctionne pas pour moi
letsdev-cwack
@ letsdev-cwack avez-vous eu le même problème ??
Ashok Varma
3

La réponse pour moi était de libérer de la mémoire pour le processus de construction, de fermer la programmation ou de redémarrer la machine (win10 semble gérer la mémoire pire que win7)

Pourquoi est-ce que ça a été corrigé pour moi?

Pendant la construction, Android Studio ne trouve pas assez de mémoire pour compiler mais il ne montre aucune erreur . L'erreur: app: preDexDebug s'est produite juste lorsque j'ai essayé de télécharger l'application compilée sur le téléphone.

Parfois, je pouvais passer à travers ce point (pas d'application: erreur preDexDebug), mais lors de l'exécution de l'application sur Android, j'ai eu des exceptions "ClassNotFound". C'était l'indice pour découvrir que le studio Android ne compilait pas tous mes fichiers pendant la construction en raison du manque de mémoire (win10 m'a demandé de fermer le studio Android pour économiser de la mémoire pendant la construction), même si l'EDI me montrant que la construction a réussi .

Fabio de Toledo
la source
Cela ressemble plus à une question sur les exceptions ou à un commentaire qu'à une réponse. S'il s'agit d'une réponse, veuillez indiquer comment vous avez résolu toutes les exceptions dont vous parlez, s'il s'agit d'une nouvelle question, posez une nouvelle question sur la précédente.
Ram
Merci pour les commentaires, j'ai essayé de me faire comprendre. Je ne maîtrise pas l'anglais, mais j'ai passé quelques heures dans ce problème et j'ai décidé de publier ce qui fonctionnait pour moi. ;-)
Fabio de Toledo
3

Le nettoyage et la reconstruction du projet fonctionnent pour moi. Dans le studio Android:

Build -> Clean Project 
Build -> Rebuild Project

Consulter le lien

huu duy
la source
1
ça ne marche pas pour moi :(
Kairi San
1

J'ai pratiquement tout essayé jusqu'à ce que j'essaye d'exécuter le script à partir d'une erreur en ligne de commande:

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.

Ensuite, j'ai commenté le paramètre de mémoire du développeur dans le script gradle:

//        javaMaxHeapSize "1536m"

et j'ai pu passer cette erreur. J'ai besoin d'augmenter la RAM de mon ordinateur portable.

Léos Literak
la source
comment avez-vous défini javaMaxHeapSize? Je l'ai défini en utilisant gradle.properties, mais cela ne fonctionne que pour le démon gradle.
Sarowar
1
javaMaxHeapSize est une propriété sous android.dexOptions. Je l'avais moi-même à 3 Go lors d'une installation Win10 avec 16 Go de RAM. Le réduire à 1 ou le supprimer l'a corrigé (ironiquement) pour moi
Nilzor
Oui, aussi étrangement le réduire à 1 Go dans mon projet à partir de 3 Go a fonctionné. J'ai beaucoup de RAM donc très étrange.
zaifrun
1

Vous devez mettre à jour tous les blocs dans SDK Manager (bibliothèque de support, etc.), toutes les bibliothèques et packages non mis à jour. Après cela, vous devez synchroniser les fichiers gradle avec le projet et vous réjouir!

Алешин Михаил
la source
1

Dans mon cas, définir la taille maximale du tas Java de 2g à 1g a fonctionné.

Ajouter ce qui suit au fichier build.gradle du module d'application

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}
Shahidul
la source
1

Cette solution fonctionne pour moi

Installez Java JDK 8.

Ensuite, allez dans Outils-> Options -> Outils pour Apache Cordova-> Remplacements de variables d'environnement et définissez le chemin de votre JDK sur "C: \ Program Files \ java \ jdk1.8.0_121" pour obtenir Java 8 au lieu de Java 7.

pour plus d'informations http://www.developersite.org/103-141954-android

aditya shrivastava
la source
1

Expérimental j'ai trouvé le moyen:

L'application étend l'application et non MultiDexApplication

et supprimer

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

de gradle.properties

Yvgen
la source
0

J'ai eu cette erreur après avoir transféré mon projet de mon ordinateur portable vers mon bureau dans Android Studio.

Ma solution était de redémarrer Android Studio, puis de nettoyer le projet et enfin d'exécuter le projet.

BhavikUp
la source
0

J'ai eu le même problème, après avoir essayé chacune des réponses ici, j'ai remarqué qu'un paquet que j'avais renommé n'avait pas été renommé dans une classe qui l'avait importé. J'ai corrigé le nom et résolu immédiatement le problème.

Adri Stanchev
la source
0

Cela est probablement dû au fait que votre application dépasse le nombre de méthodes 65k, provoquant ainsi une erreur dex. Il n'y a pas de solution, autre que l'activation du multidexing dans votre application.

IgorGanapolsky
la source
0

Eh bien, il peut y avoir de nombreux problèmes associés. Tout d'abord, vérifiez si vous avez gâché certains emplacements de fichiers. par exemple, j'ai placé un fichier non xml dans le dossier anim, ce qui n'est pas autorisé. Vérifiez donc si de telles choses vous sont également arrivées.

Bhaskar Gurram
la source
0

Avez-vous activé le multidexing ?. Étendez votre classe Application principale avec MultiDexApplication. J'ai un message d'exception supplémentaire avant l'erreur. Ils sont les suivants.

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

Cela indique clairement que l'erreur s'est produite en raison d'un manque de mémoire. Essayez ce qui suit:

  1. étendez votre classe Application principale avec MultiDexApplication.
  2. fermez les applications inutilisées en arrière-plan et redémarrez Android Studio.

Ça fera l'affaire ;)

Saamzzz
la source
0

Donnez une chance à cette mère:

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

N'oubliez pas de mettre cela en signet .

Martin Pfeffer
la source
0

J'ai eu le même problème tout à l'heure, et il s'est avéré être causé par un attrs.xmlfichier défectueux dans l'un de mes modules. Le fichier avait initialement deux attributs stylables pour l'une de mes vues personnalisées, mais j'en avais supprimé un lorsqu'il s'est avéré que je n'en avais plus besoin. Cependant, ce n'était apparemment pas correctement enregistré avec l'EDI et donc la construction a échoué quand elle n'a pas pu trouver l'attribut.

La solution pour moi était de rajouter l'attribut, d'exécuter un clean projectaprès quoi la construction a réussi et je pourrais supprimer avec succès l'attribut à nouveau sans plus de problèmes.

J'espère que cela aide quelqu'un.

Teun Kooijman
la source
0

Il y a de nombreuses raisons qui conduisent à

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_60 \ bin \ java.exe '' terminé avec une valeur de sortie différente de zéro 1

Si vous n'atteignez pas la limite de dex mais que vous obtenez une erreur similaire à celle-ci Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}

Essayez de désactiver proguard, s'il parvient à compiler sans problème, vous devrez déterminer quelle bibliothèque l'a causé et l'ajouter au proguard-rules.profichier

Dans mon cas, ce problème se produit lorsque j'ai mis compile 'com.google.android.gms:play-services-ads:8.3.0'à jour verscompile 'com.google.android.gms:play-services-ads:8.4.0'

L'une des solutions de contournement est que j'ai ajouté ceci au proguard-rules.profichier

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

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

Studio Android

xDragonZ
la source
0

Je résous ce problème en plaisantant. J'ai deux classes avec des noms startDlet StartDl. Je viens de changer l'un d'entre eux StartDownloadet mon problème est résolu. les ressources peuvent également avoir un nom qui est déjà réservé avec plus de ressource dans le projet. renommez simplement les noms similaires en différents.

Sadeq Shajary
la source
-1

Tout ce que vous avez à faire est de tuer une partie du processus en cours et de libérer de l'espace sur votre mémoire (RAM). Vous pouvez essayer de fermer certains des programmes gourmands en mémoire. Vous pouvez également essayer de redémarrer Android Studio. Cela a fonctionné pour moi.

Vikky
la source
-2

Supprimez la ligne:

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

À partir des dépendances (dans build.gradle):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.0.0'
}
Shehroz Saleem
la source
12
Et pourquoi pensez-vous que cela fonctionnerait, veuillez expliquer pour que nous comprenions
Aman Alam
-2

Pour moi, cela fonctionne:

defaultConfig {
    multiDexEnabled true
}
Ali Akram
la source