任务';的执行失败:应用程序:dexDebug';关于Android Studio
我没有修改库依赖项,甚至根本没有修改build.gradle脚本,只是修改了一些代码,但是这个错误突然出现了,而以前没有任务';的执行失败:应用程序:dexDebug';关于Android Studio,android,android-studio,build.gradle,Android,Android Studio,Build.gradle,我没有修改库依赖项,甚至根本没有修改build.gradle脚本,只是修改了一些代码,但是这个错误突然出现了,而以前没有 >Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.
>Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_15\bin\java.exe'' finished with non-zero exit value 2
我试着使用--stacktrace--debug
,但我不太明白我看到了什么,似乎错误就这样突然出现了
>Merged dex A (3701 defs/5082.9KiB) with dex B (266 defs/275.0KiB). Result is 3967 defs/5328.6KiB. Took 1.3s
Result compacted from 10118.4KiB to 8222.8KiB to save 1895.6KiB
Merged dex A (3967 defs/5328.6KiB) with dex B (3293 defs/2941.1KiB). Result is 7260 defs/8222.8KiB. Took 1.6s
>AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
现在,有什么可能是错误的,或者我能做些什么来理解哪里出了问题
这是我的gradle脚本,供参考
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.xxx.yyy"
minSdkVersion 16
targetSdkVersion 21
versionCode 24
versionName "2.1.2"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "2g"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.gms:play-services:6.1.71'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.facebook.android:facebook-android-sdk:3.21.1'
compile 'net.simonvt.menudrawer:menudrawer:3.0.+@aar'
compile 'com.commonsware.cwac:sacklist:1.0.0'
compile 'com.commonsware.cwac:merge:1.1.+'
compile 'com.loopj.android:android-async-http:1.4.5'
compile project(':library')
}
我在gradle脚本的
defaultConfig
部分下添加了multiDexEnabled true
来解决这个问题,但我不知道为什么
更新
正如@clemp6r在评论中解释的那样,这是由于65K限制造成的。在依赖项文件中使用此选项,然后再试一次:释放{minifyEnabled true proguardFiles./proguard rules.pro'}请注意,如果您没有真正检查proguard,那么它将导致崩溃错误。顺便提一下,我需要问一下,为什么你使用的是过时的play services版本,你使用的SDK是什么?@Kesh1234仍然没有luckUse更新的SDK版本,也没有使用任何过时的版本。所以你们认为这是因为过时的play services?但为什么它在几分钟前就起作用了?我尝试过更新它一次,但是更改API时出现了太多问题,所以我将其还原。您可能达到了65k方法的限制。似乎这就是原因,谢谢你指出我@clemp6r