错误:任务':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.jar
和ParseFacebookUtilsV4-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。
三个条件可能会导致这个问题。
- 不同的模块有不同的jar
- 在libs中包含jar,但在src中添加相关的源代码
-
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结束
为了解决这个问题,我们必须做一些事情:
- 从libs中删除/更新重复的jar /文件
编译'com.android.support:support-v4:23'compile'com.google.android.gms:play-services:9.0.0'
compile 'com.google.android.gms:play-services:9.0.0'
- 将multiDexEnabled设置为True
defaultConfig {multiDexEnabled true}
- 增加堆大小:
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'