我已经尝试过查看类似的但没有解决方案。我以前运行的应用程序没有问题,但我的新应用程序突然开始给我带来问题。当我试图说它时总是失败:
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'
}
答案 0 :(得分:54)
遇到了由于可绘制资源冲突而导致的相同错误。我做了一个干净的项目,不再遇到错误。
答案 1 :(得分:16)
经过大量的冲浪,我发现问题是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
答案 2 :(得分:12)
我的Java安装一定是个问题。我删除了所有Java(C://程序文件/ Java / jdk)和jre文件夹的痕迹,并从official page重新安装它,现在它工作正常。
答案 3 :(得分: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”,问题就解决了。
答案 4 :(得分:8)
在我的情况下,解决方案是关闭Android Studio并杀死java进程,这是非常大的(1.2 GB)。在此之后,我的项目正常运行(OS X Mount Lion,Android Studio 1.2.2,iMac Mid 2011 4GB Ram)。
答案 5 :(得分:7)
解决方案
1.清洁项目并检查其工作情况
2.关闭所有垃圾任务后,重新启动android studio
3.如果上述两件事都无效,请在gradle.build文件中添加
android {
dexOptions {
incremental = true;
preDexLibraries = false
javaMaxHeapSize "4g"
}
}
答案 6 :(得分:6)
将库 icepick 添加到我的gradle依赖项后,我遇到了同样的问题。删除依赖项后,一切似乎都没问题。一旦我知道为什么会出现这个问题,我就会再次写在这里
答案 7 :(得分:3)
答案 8 :(得分:3)
将jar文件添加到项目的lib文件夹中,并在将同步gradle后将其添加到build.gradle文件中作为 compile'path示例'之后,添加另一行作为编译文件('libs / example.jar')。您只需要删除先前添加到build.gradle文件中的行,即gradle sync之后的compile'path example'。您还需要删除行编译fileTree(目录:'libs',包含:'* .jar')
答案 9 :(得分:3)
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
将此添加到您的gradle Build中。它对我有用
答案 10 :(得分:3)
我的答案是为构建过程释放内存,关闭程序或重启机器(win10似乎管理的内存比win7差)
为什么它适合我?
在构建期间,android studio找不到足够的内存来编译,但它没有显示任何错误。 :app:preDexDebug错误发生在我尝试将已编译的应用程序上传到手机时。
有时我可以通过这一点(没有应用程序:preDexDebug错误),但在android上运行应用程序时,我得到了“ClassNotFound”异常。这是发现android studio没有在构建期间编译所有文件的线索,因为内存不足(win10要求我关闭android工作室以在构建期间节省内存),即使IDE向我显示构建成功
答案 11 :(得分:3)
答案 12 :(得分: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。
答案 13 :(得分:1)
实验我找到了方法:
应用扩展应用不 MultiDexApplication
并删除
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
答案 14 :(得分:1)
此解决方案适合我
安装Java JDK 8.
然后,转到工具 - >选项 - > Apache Cordova工具 - >环境变量覆盖并将JDK的路径设置为“C:\ Program Files \ java \ jdk1.8.0_121”以获取Java 8而不是Java 7。
答案 15 :(得分:1)
在我的案例中,将Java Max Heap Size从2g设置为1g。
将以下内容添加到应用程序模块的build.gradle文件
android {
dexOptions {
javaMaxHeapSize "1g"
}
}
答案 16 :(得分:1)
您必须更新SDK Manager(支持库等)中的所有块,所有未更新的库和包。在此之后,您必须将gradle文件与项目同步并高兴!
答案 17 :(得分:0)
我刚刚遇到了同样的问题,结果是由我的某个模块中的错误attrs.xml
文件引起的。该文件最初为我的一个自定义视图有两个可设置的属性,但是当我发现我不再需要它时,我删除了一个。但是,这显然未在IDE中正确注册,因此在无法找到属性时构建失败。
我的解决方案是重新添加属性,运行clean project
之后构建成功,我可以再次成功删除该属性而不会出现任何其他问题。
希望这有助于某人。
答案 18 :(得分:0)
答案 19 :(得分:0)
导致
的原因很多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 *;
}
答案 20 :(得分:0)
我用开玩笑的方式解决了这个问题。我有两个名为startDl
和StartDl
的班级。我只是将其中一个更改为StartDownload
,我的问题就解决了。资源的名称也已经在项目中的任何资源中保留。只需将相似的名称重命名为不同的名称。
答案 21 :(得分:0)
这可能是由于您的应用超过65k方法计数,从而导致dex错误。除了在您的应用中启用多索引之外,没有解决方案。
答案 22 :(得分:0)
我有同样的问题,在尝试了这里的每个答案之后,我注意到我重命名的包没有在导入它的类中重命名。我修好了名字并立即解决了问题。
答案 23 :(得分:0)
我将项目从笔记本电脑转移到Android Studio中的桌面后出现此错误。
我的解决方案是重新启动Android Studio,然后清理项目并最终执行项目。
答案 24 :(得分:-1)
您需要做的就是杀死一些正在运行的进程并释放内存(RAM)上的空间。您可以尝试关闭一些高内存消耗程序。您也可以尝试重新启动Android Studio。它对我有用。
答案 25 :(得分:-1)
对我而言,这有效:
HashMap<String, String> params2 = new HashMap<String, String>();
params.put("name", "Val");
params.put("subject", "Test Subject");
JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.POST, Constants.CLOUD_URL, new JSONObject(params2), new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
mView.showMessage("Response: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
mView.showMessage(error.getMessage());
}
});
// Access the RequestQueue through your singleton class.
VolleySingleton.getInstance(mContext).addToRequestQueue(jsObjRequest);
答案 26 :(得分:-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'
}