Build.Gradle 在 Android 中使用 Facebook SDK 4.0.0 和 Parse.com 库时出现问题

Build.Gradle issues when using Facebook SDK 4.0.0 and Parse.com libraries in Android

我已将问题缩小到项目中的重叠依赖项,但是,我不确定要排除哪些依赖项才能正确构建我的项目。 如果我从我的 libs 文件夹中删除 ParseFacebookUtilsV3 文件,那么我会得到另一个带有重复 LBolts/AggregateException.

的 DexException

这是我的 gradle.build 文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "kevts.washington.edu.fiternity"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.facebook.android:facebook-android-sdk:4.0.0'
}

这是我的 libs 文件夹的内容:

螺栓-android-1.1.4.jar

螺栓-android-1.1.4.jar.properties

螺栓-android-1.1.4-javadoc.jar

Parse-1.9.0.jar

Parse-1.9.0.jar.properties

Parse-1.9.0-javadoc

ParseCrashReporting-1.9.0.jar

ParseCrashReporting-1.9.0.jar.properties

ParseCrashReporting-1.9.0-javadoc

ParseFacebookUtilsV3-1.9.0.jar

ParseFacebookUtilsV3-1.9.0.jar.properties

ParseFacebookUtilsV3-1.9.0-javadoc

ParseFacebookUtilsV4-1.9.0.jar

ParseFacebookUtilsV4-1.9.0.jar.properties

ParseFacebookUtilsV4-1.9.0-javadoc

third_party_licenses.txt

这是我遇到的错误:

:app:preDexDebug 最新 :应用程序:dex调试 意外的顶级异常: com.android.dex.DexException:多个dex文件定义Lcom/parse/FacebookAuthenticationProvider$1; 在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在 com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 在 com.android.dx.command.dexer.Main.run(Main.java:246) 在 com.android.dx.command.dexer.Main.main(Main.java:215) 在 com.android.dx.command.Main.main(Main.java:106) Error:Execution 任务“:app:dexDebug”失败。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2

提前致谢。

将以下行添加到您的 gradle

compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')