Android Studio 上的任务“:app:dexDebug”执行失败
Execution failed for task ':app:dexDebug' on Android Studio
我根本没有修改库依赖项甚至 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.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 的限制。
我根本没有修改库依赖项甚至 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.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 的限制。