【问题标题】:Android java.exe finished with non-zero exit value 1 [closed]Android java.exe 以非零退出值 1 完成 [关闭]
【发布时间】:2015-05-16 16:42:46
【问题描述】:

我尝试过寻找类似的解决方案,但没有奏效。我以前运行应用程序没有问题,但我的新应用程序突然开始给我带来问题。当我尝试运行它时它总是失败:

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

【问题讨论】:

  • 请注意,这是构建您的应用程序的问题,而不是运行它 - 当然,您必须在某个时间点成功构建,然后才能运行它。
  • @Rand,你找到解决方案了吗?我也面临同样的问题,我有 32 位配置,我想这就是问题所在。
  • 这个错误很烦人,似乎没有任何帮助-.-
  • 搜索你的 layout.xml 并找到 android:shadowRadius="4dp" 并删除它。

标签: android gradle compiler-errors jvm


【解决方案1】:

删除线:

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

【讨论】:

  • 为什么你认为它会起作用,请解释一下,以便我们理解
【解决方案2】:

在我尝试从命令行错误运行脚本之前,我几乎尝试了所有方法:

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 daemon。
  • javaMaxHeapSize 是android.dexOptions 下的一个属性。我自己在 16GB 内存的 Win10 安装中拥有 3GB。将其减少到 1 或删除它(讽刺地)为我修复了它
  • 是的,在我的项目中将它从 3gb 减少到 1gb 也很奇怪。我有很多内存所以很奇怪。
【解决方案3】:

一定是我的 Java 安装有问题。我删除了 Java(C://program files/Java/jdk)和 jre 文件夹的所有痕迹,并从 official page 重新安装它,现在它工作正常。

【讨论】:

  • 你是怎么做到的。请提供更多详细信息
  • 进入控制面板卸载所有Java版本。然后重新安装最新的。
  • 对我不起作用..
  • 你可以试试“JavaRa”来去除Java的痕迹。不知道它是否有帮助。
  • 如果您安装了多个 JDK(无论出于何种原因),请确保 studio 使用的是正确的:stackoverflow.com/a/30631386/1544046
【解决方案4】:

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

【讨论】:

  • 这对我有用。我有退出错误 2
  • Wh00t,如此简单!我有退出错误 1.. 一定是团队之间通过 git 搞混了
  • 像 SindriÞór 一样,我也遇到了退出错误 1,这已经为我解决了。最后一小时只是头疼,谢谢@Kennth!
  • @Kenneth 不工作..!
  • 这对我不起作用
【解决方案5】:

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

【讨论】:

  • 这里也一样。解决方法是使用 provided 而不是 compile 用于 processor 依赖项。见this ticket
【解决方案6】:

内存问题。我的 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

原因:我在装有 Windows 8.1 操作系统的笔记本电脑上没有可用 RAM。

解决方案:我关闭了一些我不需要的程序。在那之后,我有了更多的空闲内存,我的项目是在 android studio 中构建的。

【讨论】:

  • 是的,在出错之前它显示一个对话框“没有足够的记忆......”我不记得提取消息
【解决方案7】:

在将我的项目从笔记本电脑转移到 Android Studio 中的桌面后,我收到此错误。

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

【讨论】:

    【解决方案8】:

    您必须更新 SDK 管理器(支持库等)中的所有块、所有未更新的库和包。在此之后,您必须将 gradle 文件与项目同步并欢欣鼓舞!

    【讨论】:

      【解决方案9】:

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

      【讨论】:

      • 没想到这一点。为我工作。简单地重启 AS(比如 4 次)什么也没做。
      • 谢谢!它就像一个魅力。
      • Mac 使我的登录崩溃(不是完全重启)。重新登录后,所有正在运行的应用程序都重新启动,将 Java 进程置于某种奇怪的僵尸状态(我的最佳猜测)。在活动管理器中终止 Java 进程解决了这个问题。谢谢!
      • 谢谢!解决方法是关闭 Android Studio。
      【解决方案10】:

      将 jar 文件添加到项目的 lib 文件夹后,并将其作为 compile'path example' 添加到 build.gradle 文件后,当您同步 gradle 时,它​​会添加一个附加行作为 编译文件('libs/example.jar')。您只需要删除之前添加到 build.gradle 文件中的行,即 gradle 同步后的 compile'path example'。您还需要删除行 compile fileTree(dir: 'libs', include: '*.jar')

      【讨论】:

      • 在您的情况下,只需删除行 compile fileTree(dir: 'libs', include: ['*.jar'])。希望它对你有用。
      • 这对我也有用。我不知道为什么这对我来说如此困难 iOS 添加依赖项和管理这些更简单。
      【解决方案11】:

      我遇到了同样的问题,在这里尝试了每个答案之后,我注意到我重命名的包没有在导入它的类中重命名。我改了名字,马上就解决了问题。

      【讨论】:

        【解决方案12】:

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

        【讨论】:

          【解决方案13】:
          compileOptions {
                  sourceCompatibility JavaVersion.VERSION_1_7
                  targetCompatibility JavaVersion.VERSION_1_7
              }
          

          将此添加到您的 gradle 构建中。它对我有用

          【讨论】:

          • 这对我不起作用
          • @letsdev-cwack 你有同样的问题吗??
          【解决方案14】:

          对我来说,答案是为构建过程释放内存,关闭编程或重新启动机器(win10 的内存管理似乎比 win7 差)

          为什么它为我解决了问题?

          在构建过程中,android studio 没有找到足够的内存来编译,但 它没有显示任何错误。 :app:preDexDebug 错误发生在我尝试将编译后的应用程序上传到手机时。

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

          【讨论】:

          • 这更像是关于异常的问题或评论而不是答案。如果这是一个答案,请提及您如何修复您提到的所有异常,如果这是一个新问题,请提出一个关于您之前得到的新问题。
          • 感谢您的反馈,试图让自己清楚。我不掌握英语,但我在这个问题上花了几个小时,我决定发布对我有用的东西。 ;-)
          【解决方案15】:

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

          【讨论】:

            【解决方案16】:

            您是否启用了多重索引?使用 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 扩展您的主应用程序类。
            2. 从后台关闭未使用的应用程序并重新启动 Android Studio。

            这样就可以了;)

            【讨论】:

              【解决方案17】:

              给这位妈妈一个机会:

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

              别忘了给this添加书签。

              【讨论】:

                【解决方案18】:

                您需要做的就是终止一些正在运行的进程并释放内存 (RAM) 上的空间。您可以尝试关闭一些高内存消耗的程序。您也可以尝试重新启动 Android Studio。它对我有用。

                【讨论】:

                  【解决方案19】:

                  我刚才遇到了同样的问题,结果是我的一个模块中的attrs.xml 文件有问题。该文件最初为我的一个自定义视图有两个可设置样式的属性,但是当我不再需要它时,我删除了一个。但是,这显然没有在 IDE 中正确注册,因此在找不到该属性时构建失败。

                  我的解决方案是重新添加属性,运行clean project,之后构建成功,我可以再次成功删除该属性而不会出现任何问题。

                  希望这对某人有所帮助。

                  【讨论】:

                    【解决方案20】:

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

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

                    参考 - ProcessException: org.gradle.process.internal.ExecException finished with non-zero exit value 2

                    【讨论】:

                    • g 是什么?技嘉?
                    • @Subby 只是为 dex 操作指定 Java 虚拟机 (JVM) 的最大内存分配池的一个选项。参考 - stackoverflow.com/questions/33750404/…
                    • DexOptions.incremental 已过时,将于 2018 年底删除
                    【解决方案21】:

                    清理和重建项目对我有用。在 Android 工作室中:

                    Build -> Clean Project 
                    Build -> Rebuild Project
                    

                    参考link

                    【讨论】:

                    • 它对我不起作用:(
                    【解决方案22】:

                    在我的例子中,将 Java 最大堆大小从 2g 设置为 1g 有效。

                    在应用模块的 build.gradle 文件中添加以下内容

                    android {
                        dexOptions {
                            javaMaxHeapSize "1g"
                        }
                    }
                    

                    【讨论】:

                      【解决方案23】:

                      导致的原因有很多

                      com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令 'C:\Program Files\Java\jdk1.8.0_60\bin\java.exe'' 完成 非零退出值 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 *;
                      }
                      

                      【讨论】:

                        【解决方案24】:

                        我以开玩笑的方式解决了这个问题。我有两个班级,名字为startDlStartDl。我只是将其中一个更改为StartDownload,我的问题就解决了。资源也可以有一个名称,该名称已经与项目中的其他资源一起保留。只需将相似的名称重命名为不同的名称即可。

                        【讨论】:

                          【解决方案25】:

                          解决方案

                          1.只需清理项目并检查其是否正常工作

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

                          3.如果以上两件事都不起作用,则将其添加到 gradle.build 文件中

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

                          【讨论】:

                          • 不错,3个工作。
                          【解决方案26】:

                          也许您可以更改您的 buildToolsVersion 编号。

                          这是我的问题:

                          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" 值
                          • 为我工作.... :-) 问题出在我创建新项目时。
                          【解决方案27】:

                          对我来说这是可行的:

                          defaultConfig {
                              multiDexEnabled true
                          }
                          

                          【讨论】:

                            【解决方案28】:

                            这个解决方案对我有用

                            安装 Java JDK 8。

                            然后,转到工具-> 选项-> Apache Cordova 工具-> 环境变量覆盖并将 JDK 的路径设置为“C:\Program Files\java\jdk1.8.0_121”以获取 Java 8 而不是Java 7。

                            更多信息http://www.developersite.org/103-141954-android

                            【讨论】:

                              【解决方案29】:

                              实验我找到了方法:

                              应用程序扩展应用程序 MultiDexApplication

                              并删除

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

                              来自 gradle.properties

                              【讨论】:

                                【解决方案30】:

                                使用选项assembleandroidtest,如下图所示。因此,您可以了解有关发生错误的更多信息:

                                【讨论】:

                                • 不错的解决方案!!!找出确切的问题!!!
                                • 谢谢,完美
                                • 谢谢你。这挽救了我们的一天。佩林也说声谢谢。
                                猜你喜欢
                                • 2017-11-13
                                • 1970-01-01
                                • 1970-01-01
                                • 2015-07-09
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 2015-09-26
                                相关资源
                                最近更新 更多