错误:任务':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
我搜索了所有类似的问题和解决方案,但他们没有帮助。我希望像你这样的专家来。
项目代码已上传到bitbucket:https://tainule@bitbucket.org/tainule/numad-huizhang.git
我有两个模块,app和端点。以下是来自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
}
}
答案 0 :(得分:82)
您似乎有多次出现jar文件或lib。
因此,从lib文件夹中删除.jar文件,然后:
Build
> Rebuild
答案 1 :(得分:45)
我遇到了同样的问题错误,我通过添加
解决了这个问题defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}
我有这个问题,因为我超过了Android使用了这么多库
所施加的65K方法dex限制答案 2 :(得分:20)
我正在添加它,以便处于类似情况的人可能会发现它有用。
所以,即使在multiDexEnabled = true
之后我也遇到了同样的错误。我没有重复的库。以上解决方案均无效。在阅读错误日志后,我发现OutOfMemError
问题是主要原因,并考虑以某种方式更改heap size
。因此,这个 -
dexOptions {
preDexLibraries = false
javaMaxHeapSize "4g"
}
其中“4g”表示{4}的HeapSize
。它奏效了!我希望它也适合你。
答案 3 :(得分:15)
对我来说,/app/libs
中包含了同一个库的多个版本。我正在使用Parse,我同时拥有ParseFacebookUtilsV3-1.9.0.jar
和ParseFacebookUtilsV4-1.9.0.jar
。
删除V3
jar解决了这个问题。
答案 4 :(得分:11)
最后,我通过更改编译'com.google.guava:guava:18.0'来编译'com.google.guava:guava-jdk5:17.0'来解决这个问题
答案 5 :(得分:7)
三个条件可能会导致此问题。
gradle repeat包含,例如:
编译fileTree(包括:['* .jar'],dir:'libs')
编译文件('libs / xxx.jar')
如果你能读中文,请在这里阅读Error:Execution failed for task ':app:dexDebug'.> com.android.ide.common.process.ProcessException: o
答案 6 :(得分:6)
我遇到了同样的确切错误消息。我不太确定我的解决方案是否能解决您的问题。
在项目结构(app)中,我将Compile SDK Version从API 22更改为API 21,并将Build Tools Version从22.0.0更改为21.1.2。
当我下载最新的API 22 Adroid 5.1时,我创建的每个项目都使用此API并导致我遇到问题。也许,Android Team正在寻找一个解决方案。
答案 7 :(得分:6)
在两次包含相同课程后我遇到了这个问题
答案 8 :(得分:4)
我最近将一个公司项目从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
结束
要解决这个问题,我们必须做一些事情:
编译'com.android.support:support-v4:23'编译 'com.google.android.gms:播放服务:9.0.0'
到compile 'com.google.android.gms:play-services:9.0.0'
defaultConfig {multiDexEnabled true}
dexOptions { 增量真实 javaMaxHeapSize“4g” }
答案 9 :(得分:2)
尝试将这行代码放在主项目gradle脚本中:
configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }
我有两个链接到我的项目的库,以及使用&com; com.android.support:support-v4:22.0.0'的地方。
希望它有所帮助。
答案 10 :(得分:2)
我通过删除:
解决了同样的问题compile fileTree(include: ['*.jar'], dir: 'libs')
并为每个jar文件添加:
compile files('libs/yourjarfile.jar')
答案 11 :(得分:1)
尝试清理并重建项目。我有完全相同的问题,这解决了它。
答案 12 :(得分:0)
我有同样的问题,并通过改变' +'来解决。确切的数字,如编译" com.android.support:appcompat-v7:21.0。+"编译" com.android.support:appcompat-v7:21.0.0"。
这对我有用。 :)
答案 13 :(得分: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'
答案 14 :(得分:0)
将eclipse项目转换为Android Studio时遇到相同的问题。我的情况是eclipse项目中有设计库jar文件,并且在gradle中添加了相同的依赖项导致了错误。库。