Android java.exe가 0이 아닌 종료 값 1로 완료 됨 [닫힘]


117

나는 비슷한 것을 보려고 시도했지만 해결책이 없습니다. 이전에 문제없이 앱을 실행했지만 새 앱이 갑자기 문제를 일으키기 시작했습니다. 내가 그것을 실행하려고 할 때 항상 실패합니다.

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

콘솔에 표시되는 내용은 다음과 같습니다.

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

이 앱은 매우 간단하고 재고 레이아웃에서 많이 변경하지 않았습니다. 롤리팝 전용으로 설계되었으며 스톡 기능 만 사용합니다. 다음은 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'
}

이는 앱을 실행하는 것이 아니라 빌드 하는 데 문제가된다는 점에 유의하십시오. 물론 실행하기 전에 어느 시점에서 성공적으로 빌드해야합니다.
Chris Stratton 2015 년

@Rand, 해결책을 찾았습니까? 나는 같은 문제에 직면하고 있으며 32 비트 구성이 있는데 이것이 문제라고 생각합니다.
Narendrasinh Dodiya 2015 년

이 버그는 매우 성가신 아무것도 -.- 도움말을 보인다
마틴 페퍼

layout.xml을 검색하고 찾아서 android:shadowRadius="4dp" 삭제하십시오.
meyasir

답변:


56

드로어 블 리소스 충돌로 인해 동일한 오류가 발생했습니다. 깨끗한 프로젝트를 수행했고 오류가 더 이상 발생하지 않았습니다.


이것은 나를 위해 일했습니다. 나는 종료 오류 2가 있었다
hadi

1
Wh00t, 너무 간단합니다! 나는 종료 오류 1 .. 자식을 통해 팀 사이에 호환 문제되어 있어야했다
신 드리 토르

SindriÞór처럼 나도 종료 오류 1이 있었고 이것이 나를 위해 해결했습니다. 지난 시간은 두통에 불과했습니다. @Kennth에게 감사드립니다!
davewoodhall

1
@Kenneth가 작동하지 않습니다 ..!
user5716019

이없는 나를 위해 작동
jose920405

16

많은 서핑을 한 후 문제가 GC 오버 헤드 (메모리 부족)라는 것을 알았습니다. 내 build.gradle에 아래 코드를 추가하여 하루를 절약했습니다.

android {

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

}

참조 -ProcessException : org.gradle.process.internal.ExecException이 0이 아닌 종료 값 2로 완료 됨


무엇입니까 g? 기가 바이트?
Subby

@Subby dex 작업을 위해 JVM (Java Virtual Machine)에 대한 최대 메모리 할당 풀을 지정하는 옵션 일뿐입니다. REF - stackoverflow.com/questions/33750404/...
Duke1992

2
DexOptions.incremental더 이상 사용되지 않으며 2018 년 말 제거 예정
HendraWD

13

Java 설치에 문제가 있었을 것입니다. Java (C : // program files / Java / jdk) 및 jre 폴더의 모든 흔적을 제거하고 공식 페이지 에서 다시 설치 했으며 이제 정상적으로 작동합니다.


1
어떻게 그랬어. 자세한 내용을 입력 해주세요
Sami Eltamawy 2015-04-13

1
제어판으로 이동하여 모든 버전의 Java를 제거하십시오. 그런 다음 최신 버전을 다시 설치하십시오.
Rand

1
나를 위해 작동하지 않았다 ..
알렉스 Kapustian

"JavaRa"를 사용하여 Java의 흔적을 제거 할 수 있습니다. 그래도 도움이되는지 확실하지 않습니다.
안드로이드 개발자

여러 개의 JDK가 설치되어있는 경우 (어떤 이유로 든) 스튜디오가 올바른 것을 사용하고 있는지 확인하십시오. stackoverflow.com/a/30631386/1544046
JCricket

12

아마도 buildToolsVersion num을 변경할 수 있습니다.

이것은 내 문제입니다 :

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

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

buildToolsVersion을 buildToolsVersion "23.0.2"로 변경하고 문제가 해결되었습니다.


그것도 내 솔루션이었고, 나는 단지 오래된 프로젝트를 확인하고 build.gradle을 비교하고 buildToolsVersion "23.0.1"과 동일한 값으로 설정했습니다
Youri

나를 위해 일했습니다 .... :-) 문제는 내가 새 프로젝트를 만들 때였습니다.
Rumit Patel 2016 년

11

RAM 문제 . 내 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

이유 : OS Windows 8.1이 설치된 랩톱에 여유 RAM이 없었습니다.

해결책 : 필요하지 않은 몇 가지 프로그램을 닫았습니다. 그 후 더 많은 여유 RAM이 있었고 프로젝트는 Android 스튜디오에서 빌드되었습니다.


1
이 대화 상자가 표시 오류 전에 그래, "충분하지 momory을 ..."난 추출물 메시지 기억하지 않는다
vuhung3990

8

제 경우 해결책은 Android Studio를 닫고 매우 큰 (1.2GB) 자바 프로세스를 종료하는 것이 었습니다. 그 후 내 프로젝트가 정상적으로 실행됩니다 (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4GB Ram).


이것을 생각조차하지 못했습니다. 나를 위해 일했습니다. AS를 다시 시작 (예 : 4 번)하면 아무 일도 일어나지 않았습니다.
gatlingxyz

감사! 그것은 매력처럼 작동했습니다.
jackcar

Mac에서 로그인이 중단되었습니다 (전체 재부팅 아님). 다시 로그인하면 실행중인 모든 앱이 다시 시작되어 Java 프로세스가 이상한 좀비 상태로 전환되었습니다 (제 생각에는). 활동 관리자에서 Java 프로세스를 종료하면 문제가 해결되었습니다. 감사!
andymeadows

감사! 해결책은 Android Studio를 닫는 것입니다.
pengguang001

7

해결책

1. 프로젝트를 청소하고 작동 여부를 확인하십시오.

2. 모든 쓰레기 작업을 닫은 후 android studio를 다시 시작하십시오.

3. 위의 두 가지가 모두 작동하지 않으면 gradle.build 파일에 추가하십시오.

android {

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

}

멋지고 3 하나 작동합니다.
Surendar D

6

내 gradle 종속성에 라이브러리 icepick 을 추가 한 후에도 동일한 문제가 발생했습니다 . 의존성을 제거한 후에는 모든 것이 정상인 것 같습니다. 이 문제가 발생한 이유를 아는 즉시 여기에 다시 작성하겠습니다.


4
여기도 마찬가지입니다. 수정 프로그램을 사용하는 것이 었습니다 provided대신 compile에 대한 processor의존성. 이 티켓을 참조하십시오 .
theblang

5

assembleandroidtest아래 이미지와 같이 옵션 을 사용하십시오 . 따라서 발생한 오류에 대해 자세히 알아볼 수 있습니다.

여기에 이미지 설명 입력


좋은 해결책 !!! 정확한 문제를 찾으려면 !!!
란 지트 쿠마르

감사합니다, 완벽한
Prinkal 쿠마

3

프로젝트의 lib 폴더에 jar 파일을 추가하고 gradle 을 동기화 할 때 build.gradle 파일에 compile'path example '으로 추가 한 후 compile files ('libs / example.jar ') 로 추가 행을 추가합니다 . 이전에 build.gradle 파일에 추가 한 줄, 즉 gradle 동기화 후 compile'path example '을 제거하면됩니다. 또한 compile fileTree (dir : 'libs', include : '* .jar') 줄을 제거해야합니다 .


귀하의 경우에는 compile fileTree (dir : 'libs', include : [ '* .jar']) 줄을 제거하십시오. 그것이 당신을 위해 잘 작동하기를 바랍니다.
Punit Sharma

이것은 나에게도 효과적이었습니다. iOS가 종속성을 추가하고 관리하는 것이 더 간단합니다.
JMStudios.jrichardson 2015 년

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

이것을 gradle Build에 추가하십시오. 그것은 나를 위해 일했습니다


2
그것은 나를 위해 작동하지 않습니다
letsdev-cwack

@ letsdev-cwack 같은 문제가 있었습니까?
Ashok Varma 2015

3

저에게 대답은 빌드 프로세스에 메모리를 비우고 프로그래밍을 닫거나 시스템을 재부팅하는 것이 었습니다 (win10은 win7보다 메모리를 더 나쁘게 관리하는 것 같습니다).

왜 고쳐 졌나요?

빌드하는 동안 android studio는 컴파일하기에 충분한 메모리를 찾지 못하지만 오류가 표시되지 않습니다. . : app : preDexDebug 오류는 컴파일 된 앱을 휴대폰에 업로드하려고 할 때 발생했습니다.

때로는이 지점을 통과 할 수 있지만 (app : preDexDebug 오류 없음) Android에서 애플리케이션을 실행할 때 "ClassNotFound"예외가 발생했습니다. 이것은 IDE가 빌드가 성공했음을 보여 주더라도 메모리 부족으로 인해 빌드 중에 Android 스튜디오가 모든 파일을 컴파일하지 않는다는 것을 발견 한 단서였습니다 (win10은 빌드 중에 메모리를 절약하기 위해 Android 스튜디오를 닫도록 요청했습니다). .


이것은 답변보다는 예외 또는 의견에 대한 질문과 비슷합니다. 이것이 답변이라면 언급하고있는 모든 예외를 어떻게 수정했는지 언급하고, 이것이 새로운 질문이라면 이전에 받고있는 것에 대해 새로운 질문을하십시오.
Ram

의견을 보내 주셔서 감사합니다. 나는 영어를 마스터하지는 못하지만,이 문제에 몇 시간을 보냈고 저에게 효과가있는 것을 게시하기로 결정했습니다. ;-)
Fabio de Toledo

3

프로젝트를 청소하고 재건하는 것이 저에게 효과적입니다. Android 스튜디오에서 :

Build -> Clean Project 
Build -> Rebuild Project

링크 참조


1
그것은 :( 나를 위해 작동하지 않습니다
Kairi 님 산을

1

명령 줄에서 오류에서 스크립트를 실행하려고 할 때까지 거의 모든 것을 시도했습니다.

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.

그런 다음 gradle 스크립트에서 개발자의 메모리 설정을 주석으로 처리했습니다.

//        javaMaxHeapSize "1536m"

이 오류를 통과 할 수있었습니다. 랩톱의 RAM을 늘려야합니다.


javaMaxHeapSize를 어떻게 설정 했습니까? gradle.properties를 사용하여 설정했지만 gradle 데몬에서만 작동합니다.
Sarowar

1
javaMaxHeapSize는 android.dexOptions. 16GB 램으로 Win10 설치에서 직접 3GB로 사용했습니다. 나를 위해 (아이러니하게도)을 고정 1로 감소 또는 제거
Nilzor

예, 이상하게도 내 프로젝트에서 3GB에서 1GB로 줄이면 충분했습니다. 나는 매우 이상하게 많은 RAM을 가지고 있습니다.
zaifrun

1

SDK 관리자 (지원 라이브러리 등)의 모든 블록, 업데이트되지 않은 모든 라이브러리 및 패키지를 업데이트해야합니다. 그 후에 gradle 파일을 프로젝트와 동기화하고 기뻐해야합니다!


1

제 경우에는 Java Max Heap Size를 2g에서 1g로 설정했습니다.

애플리케이션 모듈의 build.gradle 파일에 다음을 추가하십시오.

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}

1

이 솔루션은 저에게 효과적입니다.

Java JDK 8을 설치합니다.

그런 다음 도구-> 옵션-> Apache Cordova 용 도구-> 환경 변수 재정의로 이동하고 JDK 경로를 "C : \ Program Files \ java \ jdk1.8.0_121"로 설정하여 Java 7 대신 Java 8을 가져옵니다.

자세한 정보는 http://www.developersite.org/103-141954-android


1

실험 방법을 찾았습니다.

응용 프로그램은 응용 프로그램을 확장 하지 않습니다. MultiDexApplication이

제거

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

gradle.properties에서


0

내 프로젝트를 내 노트북에서 Android Studio의 데스크톱으로 전송 한 후이 오류가 발생했습니다.

내 해결책은 Android Studio를 다시 시작한 다음 프로젝트를 정리하고 마지막으로 프로젝트를 실행하는 것입니다.


0

나는 같은 문제가 있었고 여기에서 각 답변을 시도한 후 이름을 바꾼 패키지가 가져온 클래스에서 이름이 바뀌지 않았 음을 알았습니다. 이름을 수정하고 즉시 문제를 해결했습니다.


0

이는 앱이 65k 메서드 수를 초과하여 dex 오류가 발생했기 때문일 수 있습니다. 앱에서 멀티 덱싱을 활성화하는 것 외에는 해결책이 없습니다.


0

그와 관련된 많은 문제가있을 수 있습니다. 우선 일부 파일 배치가 엉망인지 확인하십시오. 예를 들어 내가 한 것은 허용되지 않는 anim 폴더에 비 xml 파일을 배치 한 것입니다. 따라서 그러한 일이 당신에게도 일어 났는지 확인하십시오.


0

멀티 덱싱을 활성화 했습니까?. MultiDexApplication으로 기본 애플리케이션 클래스를 확장하십시오. 오류 전에 추가 예외 메시지가 있습니다. 다음과 같습니다.

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

이는 메모리 부족으로 인해 오류가 발생했음을 명확하게 알려줍니다. 다음을 시도하십시오.

  1. MultiDexApplication으로 기본 Application 클래스를 확장하십시오.
  2. 백그라운드에서 사용하지 않는 애플리케이션을 닫고 Android Studio를 다시 시작하십시오.

이것은 트릭을 할 것입니다;)


0

이 어머니에게 기회를주세요 :

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

이것을 북마크하는 것을 잊지 마십시오 .


0

방금 같은 문제가 발생했으며 결함으로 인해 발생한 것으로 판명되었습니다. attrs.xml 내 모듈 중 하나의 파일 . 파일에는 처음에 내 사용자 정의보기 중 하나에 대해 두 가지 스타일링 가능한 속성이 있었지만 더 이상 필요하지 않다는 것이 밝혀지면 하나를 삭제했습니다. 그러나 이것은 분명히 IDE에 올바르게 등록되지 않았으므로 속성을 찾을 수 없어 빌드가 실패했습니다.

나를위한 해결책은 속성을 다시 추가하고 clean project 하고 빌드가 성공한 후 추가 문제없이 속성을 다시 성공적으로 제거 할 수있는 것이 었습니다.

이것이 누군가를 돕기를 바랍니다.


0

이르게하는 많은 이유가 있습니다

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 ''가 0이 아닌 종료 값 1로 완료되었습니다.

dex 제한에 도달하지 않았지만 이와 유사한 오류가 발생하는 경우 Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}

proguard를 비활성화하십시오. 문제없이 컴파일 할 수 있다면 어떤 라이브러리가 원인인지 알아 내서 추가해야합니다. proguard-rules.pro 파일에 합니다.

내 경우에는이 문제를 내가 업데이트 할 때 발생 compile 'com.google.android.gms:play-services-ads:8.3.0'compile 'com.google.android.gms:play-services-ads:8.4.0'

해결 방법 중 하나는 이것을 proguard-rules.pro파일에 추가하는 것입니다.

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

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

안드로이드 스튜디오


0

농담으로이 문제를 해결합니다. 이름 startDlStartDl. 나는 그들 중 하나를로 변경 StartDownload하고 내 문제가 해결되었습니다. 또한 리소스는 프로젝트의 더 이상 리소스에 이미 예약 된 이름을 가질 수 있습니다. 비슷한 이름을 다른 이름으로 바꿉니다.


-1

실행중인 프로세스 중 일부를 종료하고 메모리 (RAM)의 공간을 확보하기 만하면됩니다. 메모리를 많이 사용하는 일부 프로그램을 닫을 수 있습니다. Android Studio를 다시 시작할 수도 있습니다. 그것은 나를 위해 일했습니다.


-2

줄 제거 :

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

종속성에서 ( build.gradle) :

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

12
그리고 왜 우리가 이해할 수 있도록 설명해주십시오, 그것은 작동합니다 생각 하는가
아만 알람

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.