错误:任务':app:dexDebug'的执行失败。 com.android.ide.common.process.ProcessException

错误:任务':app:dexDebug'的执行失败。

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.8.0_40 \ bin \ java.exe'零退出值2

我search了所有类似的问题和解决scheme,但他们没有帮助。 我希望像你这样的专家出来。

项目代码已经上传到bitbucket: https://tainule@bitbucket.org/tainule/numad-huizhang.git

我有两个模块,应用程序和端点。 以下是来自Module:app:

apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "edu.neu.madcourse.huizhang1" minSdkVersion 14 targetSdkVersion 21 versionCode 3 versionName "2.1" // multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile "com.android.support:appcompat-v7:21.0.+" compile 'com.google.android.gms:play-services:+' compile 'com.google.guava:guava:18.0' compile 'com.google.code.gson:gson:1.7.2' compile 'org.apache.httpcomponents:httpmime:4.4-beta1' compile 'org.apache.httpcomponents:httpclient:4.4-beta1' compile 'org.apache.httpcomponents:httpcore:4.4-beta1' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' compile project(path: ':endpoint', configuration: 'android-endpoints') compile files('src/main/res/libs/KeyValueAPI.jar') } 

以下是来自模块端点:

 buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.google.appengine:gradle-appengine-plugin:1.9.17' } } repositories { mavenCentral(); } apply plugin: 'java' apply plugin: 'war' apply plugin: 'appengine' sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.8' compile 'com.google.appengine:appengine-endpoints:1.9.8' compile 'com.google.appengine:appengine-endpoints-deps:1.9.8' compile 'javax.servlet:servlet-api:2.5' compile 'com.googlecode.objectify:objectify:4.0b3' compile 'com.ganyo:gcm-server:1.0.2' // compile 'com.github.fengdai:alertdialogpro-theme-material:0.1.0' } appengine { downloadSdk = true appcfg { oauth2 = true } endpoints { getClientLibsOnBuild = true getDiscoveryDocsOnBuild = true } } 

看来你有一个jar文件或多次出现一个库。

所以,从lib文件夹中删除.jar文件,然后:

Build > Rebuild

我有同样的问题显示错误,我通过添加解决它

 defaultConfig { // Enabling multidex support. multiDexEnabled true } 

我有这个问题,因为我超过了由Android强加的65K方法dex限制我用了这么多库

我正在添加它,以便处于类似情况的人可能会觉得有帮助。

所以,即使multiDexEnabled = true我得到了同样的错误。 我没有重复的库 。 没有上述解决scheme的工作。 在阅读错误日志后,我发现OutOfMemError问题是以某种方式改变heap size主要原因和想法。 因此,

 dexOptions { preDexLibraries = false javaMaxHeapSize "4g" } 

“4g”是指HeapSize 。 它的工作! 我希望它也适合你。

对我来说,我有/app/libs包含的同一个库的多个版本。 我使用的是Parse,我有ParseFacebookUtilsV3-1.9.0.jarParseFacebookUtilsV4-1.9.0.jar

删除V3 jar解决了这个问题。

最后我解决了这个问题,通过编译“com.google.guava:guava:18.0”来编译“com.google.guava:guava-jdk5:17.0”

包含相同的类两次后,我有这个问题

我遇到了同样的确切的错误消息。 我不太确定我的解决scheme是否也能解决您的问题。

在Project Structure(app)中,我将编译SDK版本从API 22更改为API 21,并将Build Tools Version从22.0.0更改为21.1.2。

当我下载最新的API 22 Adroid 5.1时,我创build的每个项目都使用这个API,并导致我的问题。 也许,Android团队正在为此寻找解决scheme。

三个条件可能会导致这个问题。

  1. 不同的模块有不同的jar
  2. 在libs中包含jar,但在src中添加相关的源代码
  3. gradle repeat包含,例如:

    编译fileTree(包括:['* .jar'],dir:'libs')

    编译文件('libs / xxx.jar')

如果你能读中文,请阅读这里错误:执行失败的任务':app:dexDebug'。> com.android.ide.common.process.ProcessException:o

当您有太多的对象引用时,也可能会出现这种情况。 看看构build的结果,特别是在任务:dex:multiDebug:

写输出时出错:太多的方法引用:67114; 最大是65536。

我最近将其中一个公司项目从Eclipse迁移到了Android Studio。

在迁移过程中,我们也得到了以下错误:

错误:任务':appName:transformClassesWithDexForDebug'的执行失败。 com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.7.0_79。 jdk / Contents / Home / bin / java''以非零的退出值2结束

为了解决这个问题,我们必须做一些事情:

  1. 从libs中删除/更新重复的jar /文件

编译'com.android.support:support-v4:23'compile'c​​om.google.android.gms:play-services:9.0.0'

compile 'com.google.android.gms:play-services:9.0.0'

  1. 将multiDexEnabled设置为True

defaultConfig {multiDexEnabled true}

  1. 增加堆大小:

dexOptions {增量true javaMaxHeapSize“4g”}

尝试把这一行代码放在你的主项目gradle脚本中:

 configurations { all*.exclude group: 'com.android.support', module: 'support-v4' } 

我有两个库链接到我的项目,他们在哪里使用'com.android.support:support-v4:22.0.0'。

希望它可以帮助别人。

我通过删除解决了同样的问题:

 compile fileTree(include: ['*.jar'], dir: 'libs') 

并为每个jar文件添加:

 compile files('libs/yourjarfile.jar') 

尝试清理和重build项目。 我有完全相同的问题,这解决了它。

我有同样的问题,并通过更改“+”到一个确切的数字,如编译“com.android.support:appcompat-v7:21.0.+”来编译“com.android.support:appcompat-v7:21.0 .0" 。

这对我有用。 🙂

我变了 :

compile 'com.google.android.gms:play-services:9.0.0'

compile 'com.google.android.gms:play-services-auth:9.0.0'

至 :

compile 'com.google.android.gms:play-services-maps:9.0.0'

compile 'com.google.android.gms:play-services-auth:9.0.0'