Android java.exe完成,退出值非零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'
}

请注意,这是构建应用程序而不是运行应用程序的问题-当然,您必须设法在某个时候成功构建才能运行它。
克里斯·斯特拉顿

@兰德,您找到任何解决方案了吗?我面临着同样的问题,我具有32位配置,我想这就是问题。
Narendrasinh Dodiya

这个错误很烦人,似乎无济于事-.-
Martin Pfeffer

搜索您的layout.xml并找到android:shadowRadius="4dp" 并删除它。
meyasir

Answers:


56

由于可绘制资源冲突而遇到相同的错误。我做了一个干净的项目,并且不再遇到错误。


这对我有用。我退出错误2
hadi 2015年

1
太简单了!我不得不退出错误1 ..必须通过GIT中一直是球队之间的一些查询股价
辛德里托尔

像SindriÞór一样,我也有退出错误1,这为我解决了它。最后一个小时无非是头疼,谢谢@Kennth!
davewoodhall '16

1
@Kenneth不工作..!
user5716019 '16

这对我
不起作用

16

经过大量的冲浪后,我发现问题是GC开销(内存不足)。通过在我的build.gradle中添加以下代码,节省了我的时间。

android {

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

}

参考-ProcessException:org.gradle.process.internal.ExecException完成,退出值非零2


什么g啊 技嘉?

@Subby这只是为dex操作指定Java虚拟机(JVM)的最大内存分配池的选项。REF - stackoverflow.com/questions/33750404/...
Duke1992

2
DexOptions.incremental已过时,将于2018年底删除
HendraWD

13

我的Java安装肯定有问题。我删除了所有Java(C://程序文件/ Java / jdk)和jre文件夹的痕迹,并从官方页面重新安装了它,现在一切正常。


1
你是怎么做到的。请提供更多详细信息
Sami Eltamawy 2015年

1
进入控制面板并卸载所有版本的Java。然后重新安装最新的。
兰德

1
没有为我工作..
亚历Kapustian

您可以尝试使用“ JavaRa”删除Java的痕迹。不确定是否有帮助。
Android开发人员

如果您安装了多个JDK(出于某种原因),请确保Studio使用的是正确的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

为我工作.... :-)问题是当我创建新项目时。
鲁米特·帕特尔

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 studio中构建的。


1
是的,在出现错误之前,它会显示一个对话框“
内存

8

就我而言,解决方案是关闭Android Studio并杀死Java进程,该进程非常大(1.2 GB)。此后,我的项目将正常运行(OS X Mount Lion,Android Studio 1.2.2,iMac Mid 2011 4GB Ram)。


甚至都没有想到这一点。为我工作。只需重启AS(如4次)就没有任何效果。
gatlingxyz 2015年

谢谢!它就像一种魅力。
jackcar

Mac使我的登录崩溃(不是完全重启)。重新登录后,所有正在运行的应用程序都会重新启动,从而使Java进程处于某种奇怪的僵尸状态(我的最佳猜测)。在活动管理器中终止Java进程可解决此问题。谢谢!
andymeadows

谢谢!解决方法是关闭Android Studio。
pengguang001 '16

7

1,清洁项目并检查其是否工作

2.关闭所有垃圾任务后重新启动android studio

3,如果以上两种方法都不起作用,请将其添加到gradle.build文件中

android {

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

}

不错,三人一班。
Surendar D

6

将库icepick添加到gradle依赖项后,我遇到了同样的问题。消除依赖性后,一切似乎都很好。我一知道为什么会出现这个问题,我会再次在这里写


4
同样在这里。伦敦定盘使用provided,而不是compileprocessor依赖。看这张票
Theblang


3

在将jar文件添加到项目的lib文件夹中,并将其作为编译“路径示例”添加到build.gradle文件中之后,当同步gradle时,它将在编译文件中添加另一行('libs / example.jar')。您只需要删除在gradle同步之后先前添加到build.gradle文件中的行,即编译“路径示例”。您还需要删除行compile fileTree(dir:'libs',包括:'* .jar')


在您的情况下,只需删除以下行即可编译fileTree(dir:'libs',包括:['* .jar'])。希望它对您有用。
Punit Sharma 2015年

这也为我工作。我不知道为什么这对我来说很难,iOS添加依赖项并进行管理更简单。
JMStudios.jrichardson


3

对我来说,答案是将内存释放到构建过程中,关闭编程或重新启动机器(win10似乎比win7更糟糕地管理内存)

为什么为我修复?

在构建过程中,android studio找不到足够的内存来进行编译,但未显示任何错误。:app:preDexDebug错误仅在我尝试将已编译的应用程序上载到手机时发生。

有时我可以解决这一点(没有app:preDexDebug错误),但是在android上运行应用程序时,出现了“ ClassNotFound”异常。这是发现android studio由于内存不足而不编译我所有文件的线索(win10要求我在生成过程中关闭android studio以节省内存),即使IDE向我显示生成成功。


这更像是关于例外的问题或评论,而不是答案。如果这是一个答案,请提及您如何解决所提及的所有例外情况;如果这是一个新问题,请询问有关您先前所获得的问题。
2015年

感谢您提供的反馈意见,请尝试使自己更清晰。我不会英语,但是我花了几个小时解决这个问题,因此我决定发布对我有用的东西。;-)
Fabio de Toledo

3

清理和重建项目对我来说很有效。在Android Studio中:

Build -> Clean Project 
Build -> Rebuild Project

参考链接


1
它对我不起作用:(
Kairi San

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"

并且我能够传递此错误。我需要增加笔记本电脑的内存。


您如何设置javaMaxHeapSize?我使用gradle.properties进行了设置,但它仅适用于gradle守护程序。
Sarowar 2015年

1
javaMaxHeapSize是的属性android.dexOptions。我自己在3GB的Win10系统上安装了16GB内存。降低到1或删除它对我来说是具有讽刺意味的
Nilzor 2015年

是的,在我的项目中将其从3gb降低到1gb也很奇怪。我有足够的RAM,非常奇怪。
zaifrun

1

您必须更新SDK Manager(支持库等)中的所有块,所有未更新的库和包。在此之后,您必须将gradle文件与project同步并欢喜!


1

就我而言,将Java最大堆大小从2g设置为1g是可行的。

将以下内容添加到应用程序模块的build.gradle文件中

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}


1

实验中我找到了方法:

应用程序扩展应用程序而不是 MultiDexApplication

并删除

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

来自gradle.properties


0

将项目从笔记本电脑传输到Android Studio中的桌面后,出现此错误。

我的解决方案是重新启动Android Studio,然后清理项目并最终执行项目。



0

这可能是由于您的应用程序超出了65k方法计数,从而导致了dex错误。除了在您的应用程序中启用多点排序之外,没有其他解决方案。


0

好吧,可能有许多与此相关的问题。首先,检查您是否弄乱了一些文件放置位置。例如,我所做的是将非xml文件放置在anim文件夹中,这是不允许的。因此,请检查您是否也发生过此类情况。


0

您启用了多义功能吗?请使用MultiDexApplication扩展您的主Application类。错误之前,我还有其他异常消息。它们如下。

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''的退出值非零完成

如果您未达到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 *;
}

Android Studio


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

11
以及为什么您认为这行得通,请解释一下以便我们理解
Aman Alam

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.