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

농담으로이 문제를 해결합니다. 이름 startDl과 StartDl. 나는 그들 중 하나를로 변경 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.