Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
任务';的执行失败:应用程序:dexDebug';关于Android Studio_Android_Android Studio_Build.gradle - Fatal编程技术网

任务';的执行失败:应用程序:dexDebug';关于Android Studio

任务';的执行失败:应用程序: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.

我没有修改库依赖项,甚至根本没有修改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限制造成的。

在依赖项文件中使用此选项,然后再试一次:释放{minifyEnabled true proguardFiles./proguard rules.pro'}请注意,如果您没有真正检查proguard,那么它将导致崩溃错误。顺便提一下,我需要问一下,为什么你使用的是过时的play services版本,你使用的SDK是什么?@Kesh1234仍然没有luckUse更新的SDK版本,也没有使用任何过时的版本。所以你们认为这是因为过时的play services?但为什么它在几分钟前就起作用了?我尝试过更新它一次,但是更改API时出现了太多问题,所以我将其还原。您可能达到了65k方法的限制。似乎这就是原因,谢谢你指出我@clemp6r