Android java.exe concluído com valor de saída 1 diferente de zero [fechado]

117

Tentei olhar para outros semelhantes e nenhuma solução funcionou. Eu já executei aplicativos sem problemas, mas meu novo aplicativo de repente começou a me causar problemas. Sempre falha quando tento executá-lo dizendo:

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

Aqui está o que o console exibiu:

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

Este aplicativo é muito simples e não o mudei muito desde o layout de estoque. Ele é projetado apenas para pirulito e usa apenas recursos de estoque. Aqui está o 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
fonte
Observe que este é um problema de compilar seu aplicativo, não de executá-lo - embora, é claro, você tenha que construir com êxito em algum ponto antes de executá-lo.
Chris Stratton
@Rand, você encontrou alguma solução? Estou enfrentando o mesmo problema, tenho uma configuração de 32 bits, acho que esse é o problema.
Narendrasinh Dodiya
Este bug é bastante irritante e nada parece ajudar -.-
Martin Pfeffer
Pesquise seu layout.xml, encontre android:shadowRadius="4dp" e exclua-o.
meyasir

Respostas:

56

O mesmo erro foi encontrado devido a recursos de drawable conflitantes. Fiz um projeto limpo e o erro não foi mais encontrado.

Kenneth
fonte
isso funcionou para mim. eu tive erro de saída 2
hadi
1
Wh00t, tão simples! Tive erro de saída 1 .. Deve ter havido alguma confusão entre a equipe via git
Sindri Þór
Como o SindriÞór, eu também tive o erro de saída 1 e isso resolveu para mim. A última hora não passou de dores de cabeça, obrigado @Kennth!
davewoodhall
1
@Kenneth não está funcionando ..!
user5716019
isso não funciona para mim
jose920405
16

Depois de muito surfar, descobri que o problema é sobrecarga de GC (sem memória). Ao adicionar o código abaixo ao meu build.gradle, salvou meu dia.

android {

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

}

referência - ProcessException: org.gradle.process.internal.ExecException concluída com valor de saída 2 diferente de zero

Duke 1992
fonte
O que é g? Gigabyte?
Subby
@Subby É apenas uma opção para especificar o pool máximo de alocação de memória para uma Java Virtual Machine (JVM) para operação dex. ref - stackoverflow.com/questions/33750404/…
Duke1992
2
DexOptions.incrementalestá obsoleto e será removido no final de 2018
HendraWD
13

Deve ter sido um problema com a minha instalação do Java. Removi todos os vestígios de Java (C: // arquivos de programas / Java / jdk) e pastas jre e reinstalei na página oficial e agora funciona bem.

Rand
fonte
1
Como você fez isso Forneça mais detalhes
Sami Eltamawy
1
Vá para o painel de controle e desinstale todas as versões do Java. Em seguida, reinstale o mais recente.
Rand
1
não funcionou para mim ..
Alex Kapustian
Você pode tentar "JavaRa" para remover vestígios de Java. Não tenho certeza se isso ajuda embora.
desenvolvedor Android de
Caso você tenha vários JDKs instalados (por qualquer motivo), certifique-se de que o Studio está usando o correto: stackoverflow.com/a/30631386/1544046
JCricket
12

Talvez você possa alterar seu buildToolsVersion num.

esse é meu 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

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

Acabei de alterar buildToolsVersion para buildToolsVersion "23.0.2" e o problema foi resolvido.

Shaun
fonte
Essa foi a minha solução também, acabei de verificar um projeto antigo e comparei build.gradle e defini o mesmo valor de buildToolsVersion "23.0.1"
Youri
funcionou para mim .... :-) problema foi quando criei um novo projeto.
Rumit Patel,
11

Problema na RAM . Tive uma mensagem semelhante no meu Mensagens do 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

Por que: eu não tinha RAM livre no meu laptop com o sistema operacional Windows 8.1.

Solução: fechei alguns programas de que não preciso. Depois disso, fiquei com mais memória RAM livre e meu projeto foi construído no android studio.

Malder
fonte
1
sim, antes do erro, ele mostra uma caixa de diálogo "não é suficiente ..." não me lembro da mensagem de extração
vuhung3990
8

No meu caso, a solução foi fechar o Android Studio e matar os processos java, que eram muito grandes (1,2 GB). Depois disso, meu projeto é executado normalmente (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4GB Ram).

Misael Barreto
fonte
Nem tinha pensado nisso. Funcionou para mim. Simplesmente reiniciar o AS (como 4 vezes) não fez nada.
gatlingxyz
Obrigado! Funcionou como um encanto.
jackcar
O Mac travou meu login (não uma reinicialização completa). Ao fazer login novamente, todos os aplicativos em execução foram reiniciados, colocando o processo Java em algum estado estranho de zumbi (meu melhor palpite). Eliminar o processo Java no gerenciador de atividades corrigiu o problema. Obrigado!
andymeadows
Obrigado! A solução é fechar o Android Studio.
pengguang001
7

Solução

1. Basta limpar o projeto e verificar se está funcionando ou não

2. Basta reiniciar o Android Studio depois de fechar todas as tarefas inúteis

3. Se as duas coisas acima não funcionarem, adicione isso no arquivo gradle.build

android {

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

}
SHINTO JOSEPH
fonte
bom e 3 um funcionando.
Surendar D
6

Tive o mesmo problema depois de adicionar o icepick da biblioteca às minhas dependências do Gradle. Depois de remover a dependência, tudo parece estar bem. Assim que eu souber por que esse problema apareceu, escreverei aqui novamente

LuckyMalaka
fonte
4
O mesmo aqui. A correção era usar em providedvez de compilepara a processordependência. Veja este bilhete .
theblang
5

Use a opção assembleandroidtestconforme imagem abaixo. Para saber mais sobre o erro ocorrido:

insira a descrição da imagem aqui

Iman Marashi
fonte
Boa solução !!! para descobrir o problema exato !!!
Ranjith Kumar
Obrigado, é perfeito
Prinkal Kumar
3

Depois de adicionar um arquivo jar à pasta lib de um projeto e depois de adicioná-lo ao arquivo build.gradle como compilar 'exemplo de caminho' ao sincronizar o gradle, ele adiciona uma linha adicional como arquivos de compilação ('libs / example.jar') . Você só precisa remover a linha que adicionou anteriormente ao arquivo build.gradle, ou seja, o 'exemplo de caminho' de compilação após a sincronização do gradle. Você também precisa remover a linha de compilar fileTree (dir: 'libs', incluir: '* .jar')

Punit Sharma
fonte
No seu caso, basta remover a linha de compilar fileTree (dir: 'libs', incluir: ['* .jar']). Espero que funcione bem para você.
Punit Sharma
Isso funcionou para mim também. Não sei por que isso é tão difícil para mim no iOS adicionar dependências e gerenciá-las é muito mais simples.
JMStudios.jrichardson
3
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

adicione isso ao seu Gradle Build. Funcionou para mim

Ashok Varma
fonte
2
isso não funciona para mim
letsdev-cwack
@ letsdev-cwack você teve o mesmo problema ??
Ashok Varma
3

A resposta para mim foi liberar memória para o processo de construção, fechando a programação ou reiniciando a máquina (o win10 parece gerenciar a memória pior que o win7)

Por que foi corrigido para mim?

Durante a compilação, o android studio não encontra memória suficiente para compilar, mas não mostra nenhum erro . O erro: app: preDexDebug aconteceu apenas quando tentei carregar o aplicativo compilado para o telefone.

Às vezes, eu conseguia passar por esse ponto (sem app: erro preDexDebug), mas ao executar o aplicativo no Android, obtive exceções "ClassNotFound". Esta foi a pista para descobrir que o android studio não estava compilando todos os meus arquivos durante a compilação por causa da falta de memória (win10 me pediu para fechar o android studio para economizar memória durante a compilação), embora o IDE me mostrasse que a compilação foi bem-sucedida .

Fabio de Toledo
fonte
Esta é mais uma pergunta sobre as exceções ou um comentário do que uma resposta. Se esta for uma resposta, mencione como você corrigiu todas as exceções sobre as quais está mencionando; se esta for uma nova pergunta, faça uma nova pergunta sobre a anterior.
Ram
Obrigado pelo feedback, Tentei ser claro. Não domino inglês, mas passei algumas horas nesse problema que resolvi postar o que funcionava para mim. ;-)
Fabio de Toledo
3

Limpar e reconstruir o projeto funciona para mim. No Android Studio:

Build -> Clean Project 
Build -> Rebuild Project

Consulte ligação

huu duy
fonte
1
não funciona para mim :(
Kairi San
1

Eu tentei praticamente tudo até tentar executar o script de erro na linha de 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.

Em seguida, comentei a configuração de memória do desenvolvedor no script gradle:

//        javaMaxHeapSize "1536m"

e eu consegui passar esse erro. Preciso aumentar a RAM no meu laptop.

Leos Literak
fonte
como você definiu javaMaxHeapSize? Eu o configurei usando gradle.properties, mas ele só funciona para o daemon gradle.
Sarowar
1
javaMaxHeapSize é uma propriedade em android.dexOptions. Eu mesmo tinha 3 gb em uma instalação Win10 com 16 GB de RAM. Diminuir para 1 ou removê-lo consertou (ironicamente) para mim
Nilzor
Sim, também estranhamente diminuí-lo para 1 gb no meu projeto de 3 gb funcionou. Eu tenho muita memória RAM tão estranho.
Zaifrun
1

Você deve atualizar todos os blocos no SDK Manager (Biblioteca de Suporte, etc.), todas as bibliotecas e pacotes não atualizados. Depois disso, você deve sincronizar os arquivos gradle com o projeto e se alegrar!

Алешин Михаил
fonte
1

No meu caso, definir Java Max Heap Size de 2g a 1g funcionou.

Adicione o seguinte ao arquivo build.gradle do módulo do aplicativo

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}
Shahidul
fonte
1

Esta solução funciona para mim

Instale o Java JDK 8.

Em seguida, vá para Ferramentas-> Opções -> Ferramentas para Apache Cordova-> Substituições de variáveis ​​de ambiente e defina o caminho para seu JDK como "C: \ Arquivos de programas \ java \ jdk1.8.0_121" para obter Java 8 em vez de Java 7.

para mais informações http://www.developersite.org/103-141954-android

Aditya Shrivastava
fonte
1

Experimental que encontrei:

O aplicativo estende o aplicativo, não o MultiDexApplication

e remover

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

de gradle.properties

Yvgen
fonte
0

Recebi este erro depois de transferir meu projeto do meu laptop para o meu desktop no Android Studio.

Minha solução foi reiniciar o Android Studio, limpar o projeto e finalmente executá-lo.

BhavikUp
fonte
0

Tive o mesmo problema, depois de tentar cada uma das respostas aqui, percebi que um pacote que eu havia renomeado não havia sido renomeado em uma classe que o importou. Consertei o nome e imediatamente resolvi o problema.

Adri Stanchev
fonte
0

Isso provavelmente se deve ao fato de seu aplicativo exceder a contagem de métodos de 65k, causando um erro dex. Não há solução, a não ser habilitar o multidexing em seu aplicativo.

IgorGanapolsky
fonte
0

Bem, pode haver muitos problemas associados a ele. Em primeiro lugar, verifique se você bagunçou a localização de alguns arquivos. por exemplo, o que fiz foi colocar um arquivo não xml na pasta anim, o que não é permitido. Portanto, verifique se essas coisas também aconteceram com você.

Bhaskar Gurram
fonte
0

Você ativou o multidexing ?. Estenda sua classe de aplicativo principal com MultiDexApplication. Eu tenho uma mensagem de exceção adicional antes do erro. Eles são os seguintes.

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

Isso indica claramente que o erro ocorreu devido à falta de memória. Experimente o seguinte:

  1. estenda sua classe de aplicativo principal com MultiDexApplication.
  2. feche os aplicativos não utilizados em segundo plano e reinicie o Android Studio.

Isto irá fazer o truque ;)

Saamzzz
fonte
0

Dê uma chance a esta mãe:

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

Não se esqueça de marcar isso .

Martin Pfeffer
fonte
0

Tive o mesmo problema agora, que acabou por ser causado por um attrs.xmlarquivo com defeito em um dos meus módulos. O arquivo inicialmente tinha dois atributos de estilização para uma de minhas visualizações personalizadas, mas eu excluí um quando descobri que não precisava mais dele. Aparentemente, isso não foi registrado corretamente com o IDE e, portanto, a compilação falhou ao não encontrar o atributo.

A solução para mim foi adicionar novamente o atributo, executar um clean projectapós o qual a compilação foi bem-sucedida e eu poderia remover o atributo com sucesso novamente sem problemas adicionais.

Espero que isso ajude alguém.

Teun Kooijman
fonte
0

Há muitos motivos que levam a

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 '' finalizado com valor de saída 1 diferente de zero

Se você não está atingindo o limite dex, mas está obtendo um erro semelhante a este Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}

Tente desativar o programa, se ele conseguir compilar sem problemas, você precisará descobrir qual biblioteca o causou e adicioná-lo ao proguard-rules.proarquivo

No meu caso, esse problema ocorre quando eu atualizei compile 'com.google.android.gms:play-services-ads:8.3.0'paracompile 'com.google.android.gms:play-services-ads:8.4.0'

Uma das soluções alternativas é adicionar isto ao proguard-rules.proarquivo

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

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

Android Studio

xDragonZ
fonte
0

Eu resolvo esse problema de forma jocosa. Eu tenho duas aulas com nomes startDle StartDl. Acabei de mudar um deles para StartDownloade meu problema resolvido. também os recursos podem ter um nome que já está reservado com mais recursos no projeto. apenas renomeie nomes semelhantes para diferentes.

Sadeq Shajary
fonte
-1

Tudo o que você precisa fazer é eliminar parte do processo em execução e liberar espaço em sua memória (RAM). Você pode tentar fechar alguns dos programas que consomem muita memória. Você também pode tentar reiniciar o Android Studio. Funcionou para mim

vikky
fonte
-2

Remova a linha:

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

De dependências (em build.gradle):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.0.0'
}
Shehroz Saleem
fonte
11
E por que você acha que funcionaria, explique para que entendamos
Aman Alam
-2

Para mim, isso funciona:

defaultConfig {
    multiDexEnabled true
}
Ali Akram
fonte