错误:任务':app:dexDebug'的执行失败。与Facebook Fresco完成非零退出值2

时间:2015-06-30 02:52:31

标签: java android facebook android-gradle fresco

我已经在这里阅读了关于这个问题的每一个帖子,我找不到任何问题的答案。

添加Fresco lib后,我在构建应用程序时遇到此错误。 有问题的一行是:compile 'com.facebook.fresco:fresco:0.5.3+' 错误:

  

错误:任务':app:dexDebug'执行失败。

     
    

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令     'C:\ Program Files \ Java \ jdk1.7.0_71 \ bin \ java.exe''已完成     非零退出值2

  

如果我把fresco编译线拿出来,它就可以了。

我的gradle看起来像这样:

buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        //classpath 'org.robolectric:robolectric-gradle-plugin:1.1.0'
    }
}

allprojects {
    repositories {
        mavenCentral()
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    }
}

apply plugin: 'com.android.application'
//apply plugin: 'org.robolectric'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId "com.maddogs.mymoney"
        minSdkVersion 11
        targetSdkVersion 22
        //testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
    }
    sourceSets {
        androidTest {
            setRoot('src/test') //note that this is androidTest instead of instrumentTest
        }
    }

    productFlavors {
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {

    compile 'com.facebook.fresco:fresco:0.5.3+'
    compile 'com.facebook.android:facebook-android-sdk:4.3.0'

    compile 'com.facebook.stetho:stetho:1.1.1'
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.google.android.gms:play-services:7.5.0'
    compile 'com.jakewharton:butterknife:6.1.0'
    compile 'com.android.support:support-v4:22.2.0'
    compile 'com.android.support:recyclerview-v7:22.2.0'
    compile 'com.android.support:cardview-v7:22.2.0'
    compile 'com.android.support:design:22.2.0'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
    compile 'com.bignerdranch.android:recyclerview-multiselect:+'
    compile files('libs/Parse-1.9.2.jar')
    compile files('libs/ParseCrashReporting-1.9.2.jar')
    compile files('libs/ParseFacebookUtilsV4-1.9.2.jar')
}

提前致谢!

1 个答案:

答案 0 :(得分:13)

在项目中多次包含库时,有时会显示app:dexDebug错误。当错误与您的应用程序中的任何依赖项无关时,则可能是65k方法限制问题。 Dalvik可执行规范限制了方法的总数,您可以阅读更多关于它的信息here

修改您的应用Gradle构建文件配置以包含支持库并启用multidex输出,如以下Gradle构建文件片段所示:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion 21
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}