Android java.exe完成非零退出值1
我试过看类似的,没有解决方案的工作。 我以前运行的应用程序没有问题,但我的新应用程序突然开始给我的问题。 当我尝试运行它时总是失败:
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' }
遇到同样的错误,这是由于可绘制的资源冲突。 我做了一个干净的项目,错误不再遇到。
经过大量的冲浪,我发现问题是GC开销(内存不足)。 通过添加下面的代码到我的build.gradle保存了我的一天。
android { dexOptions { incremental = true; preDexLibraries = false javaMaxHeapSize "4g" // 2g should be also OK } }
引用 – ProcessException:org.gradle.process.internal.ExecException用非零的退出值2结束
这一定是我的Java安装问题。 我删除了Java(C:// program files / Java / jdk)和jre文件夹的所有痕迹,并从官方页面重新安装,现在它工作正常。
也许你可以改变你的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”,问题就解决了。
问题RAM 。 我的消息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
为什么:我的笔记本电脑上没有可用的RAM,操作系统windows 8.1。
解决方案:我关闭了一些我不需要的程序。 之后,我有更多的可用RAM,我的项目是在android工作室。
在我的情况下,解决方案是关闭Android Studio并杀死非常大(1.2 GB)的java进程。 在此之后,我的项目正常运行(OS X山狮,Android Studio 1.2.2,iMac中2011年4GB公羊)。
添加库icepick到我的gradle依赖项后,我有同样的问题。 删除依赖关系后,一切似乎都很好。 只要我知道为什么出现这个问题,我会再次写在这里
在将一个jar文件添加到项目的lib文件夹中,并且在同步gradle时将它添加到build.gradle文件中作为compile'path示例 ,它会添加一行作为编译文件('libs / example.jar') 。 您只需要删除以前添加到build.gradle文件的行,即gradle同步后的compile'path示例。 你还需要删除行编译文件树(dir:'libs',include:'* .jar')
compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }
将此添加到您的Gradle生成。 它为我工作
解
1.清理工程,检查工作是否正常
2.关闭所有的垃圾任务后,重新启动android studio
如果上述两件事情都不起作用,请将其添加到gradle.build文件中
android { dexOptions { incremental = true; preDexLibraries = false javaMaxHeapSize "4g" } }
我已经试过几乎所有的东西,直到我试图从命令行错误运行脚本:
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。
您必须更新SDK管理器(支持库等)中的所有块,所有非更新的库和包。 在此之后,您必须与项目同步gradle文件,并欢呼!
对我来说,答案是释放内存到构建过程中,关闭程序或重新启动机器(win10似乎管理内存比win7差)
为什么为我固定?
在构建过程中,android studio找不到足够的内存进行编译,但不显示任何错误 。 :app:preDexDebug错误发生,当我试图上传编译的应用程序到手机。
有时我可以通过这一点(没有应用程序:preDexDebug错误),但在Android上运行应用程序时,我得到了“ClassNotFound”异常。 这是发现android studio没有编译所有我的文件,因为缺乏内存(win10要求我关闭android studio来节省内存在编译期间)的线索,即使IDE告诉我,构建是成功的线索。
清理和重建项目对我来说很有效。 在Android studio中:
Build -> Clean Project Build -> Rebuild Project
参考链接
在我的情况下,设置Java最大堆大小从2克到1克工作。
将以下内容添加到应用程序模块的build.gradle文件中
android { dexOptions { javaMaxHeapSize "1g" } }
这个解决方案适用于我
安装Java JDK 8。
然后,转至工具 – >选项 – > Apache Cordova的工具 – >环境变量覆盖,并将JDK的路径设置为“C:\ Program Files \ java \ jdk1.8.0_121”以获得Java 8而不是Java 7。
将我的笔记本电脑中的项目传输到Android Studio中的桌面后出现此错误。
我的解决方案是重新启动Android Studio,然后清理项目,最后执行该项目。
我有同样的问题,在尝试了每个答案之后,我注意到我重命名的包在导入它的类中没有被重命名。 我修好了名字,马上解决了这个问题。
这可能是由于您的应用超过了65k的方法计数,从而导致dex错误。 没有解决方案,除了在您的应用程序中启用多重索引。
那么可以有很多与之相关的问题。 首先检查你是否搞砸了一些文件的展示位置。 例如,我所做的是我在anim文件夹中放置非xml文件,这是不允许的。 那么检查一下这样的事情是否也发生在你身上。
你是否启用了multidexing? 使用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
这清楚地表明错误是由于内存不足造成的。 尝试以下操作:
- 使用MultiDexApplication扩展主应用程序类。
- 关闭未使用的应用程序,并重新启动Android Studio。
这将做的伎俩;)
给这个母亲一个机会:
dependencies { classpath 'com.android.tools.build:gradle:1.4.0-beta6' }
不要忘了书签这个 。
我刚刚有同样的问题,事实证明是由我的一个模块中有错误的attrs.xml
文件引起的。 该文件最初有一个我的自定义视图的两个stylable属性,但是当我不再需要它时删除了一个。 但是,显然这并未在IDE中正确注册,因此在找不到该属性时生成失败。
我的解决方案是重新添加属性,运行一个clean project
之后,构建成功,我可以成功地删除该属性没有任何进一步的问题。
希望这有助于某人。
有很多原因导致
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'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 *; }
我用一个开玩笑的方式来解决这个问题。 我有两个名字为startDl
和StartDl
。 我只是将其中一个更改为StartDownload
,我的问题解决了。 也可以资源有一个名字已经被保留在项目中的资源。 只是将类似的名字重命名为不同
实验我找到了方法:
应用程序扩展应用程序而不是 MultiDexApplication
并删除
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
从gradle.properties
所有你需要做的是杀死一些正在运行的进程,并释放内存(RAM)上的空间。 您可以尝试关闭一些高内存消耗程序。 您也可以尝试重新启动Android Studio。 它为我工作。
删除行:
('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' }
对我来说这个工作:
defaultConfig { multiDexEnabled true }