Android gradle app:DexDebug错误Parse.com

时间:2016-01-28 12:02:52

标签: java android parse-platform build.gradle dex

我已经构建了一个Android应用程序,并且在尝试编译我的应用程序时出现此错误

Error:Execution failed for task ':app:dexDebug'.>com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

这是我的gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId ********
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 5
        versionName "1.211"
       // multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories { mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile fileTree('src/main/libs')
    compile fileTree('src/main/libs/picasso-2.5.2.jar')
    compile 'com.facebook.android:facebook-android-sdk:4.6.0'
    compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar'
    compile('com.twitter.sdk.android:twitter:1.12.0@aar') {
        transitive = true;
    }
    compile 'com.parse:parsetwitterutils-android:1.10.+'
}

它在parse.com上说“添加编译'com.parse:parsetwitterutils-android:1.10。+'到你的Gradle依赖项。这包括Parse - * .jar和com.parse:parse-的内容 - android:1.10。+ repository,所以请务必根据需要删除以防止重复依赖,否则将抛出com.android.dex.DexException。“

在我的图书馆里我有

bolts-android-1.2.0.jar
Parse-1.9.4.jar
picasso-2.5.2.jar
commons-io-2.4.jar

编辑:当我在gradle中启用multiDex时出现此错误

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.> java.util.zip.ZipException: duplicate entry: bolts/AggregateException.class

当我评论此行compile 'com.parse:parsetwitterutils-android:1.10.+'时,一切正常

我不知道如何摆脱上面添加上述行时引发的错误可以请一些人帮忙。

2 个答案:

答案 0 :(得分:2)

替换它:

compile 'com.facebook.android:facebook-android-sdk:4.6.0'

使用:

compile ('com.facebook.android:facebook-android-sdk:4.6.0') {
    exclude module: 'bolts-android'
}

答案 1 :(得分:0)

我想您需要在代码中改进multidex,只需添加

    compile 'com.android.support:multidex:1.0.0' 

在你的gradle文件和你的应用程序中,attachBaseContext就像这样放了MultiDex.install(this)

    @Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

我忘记了,你需要添加

 multiDexEnabled true
你的gradle文件中也是

希望它可以帮到你!