我在Android Studio上尝试运行项目时收到应用程序:dexDebug错误。我相信它与我的依赖关系有关,但我不确定我哪里出错了。
错误是:
错误:任务':app:dexDebug'执行失败。
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.7.0_17 \ bin \ java.exe''以非零退出值2结束
我在build.gradle文件中的依赖关系如下:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile 'com.google.android.gms:play-services:8.3.0'
compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
compile 'com.fasterxml.jackson.core:jackson-databind:2.3.2'
}
请允许任何人在这里指出我正确的方向。
谢谢。
更新
通过在build.gradle中添加以下内容解决了问题
packagingOptions {
exclude 'META-INF/license.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/notice.txt'
exclude 'META-INF/NOTICE'
}
答案 0 :(得分:1)
Android Studio Error:Execution failed for task ':app:dexDebug'
解决此问题,在您的gradle文件中将multiDexEnabled
设置为true
。
defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}
答案 1 :(得分:1)
问题很可能是由添加所有播放服务依赖项引起的。您不应该将整个API包编译到您的应用程序中,这会增加应用程序中的方法数量。 app:dexDebug错误表示您已超过65k方法限制。在build.gradle中删除此行:compile 'com.google.android.gms:play-services:8.3.0'
然后根据您的应用需要,从这些seperate dependencies中选择要添加的内容。例如,要使用Gcm,您只需要添加compile 'com.google.android.gms:play-services-gcm:8.4.0'