java.exe 在使用 Facebook SDK 时以非零退出值 2 结束

当我尝试编译我的应用程序时,出现以下错误

When I try to compile my app I get a following error

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:Program FilesJavajdk1.7.0_60injava.exe'' finished with non-zero exit value 2

如果我摆脱 Facebook Android SDK,它可以毫无问题地编译.

If I get rid of Facebook Android SDK it compiles without a problem.

我的 build.gradle:

My build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21 //tried 19 and 22 changing targetSdkVersion and buildToolsVersion accordingly
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "..."
        minSdkVersion 15
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

...

}

dependencies {
    ...
    compile 'com.facebook.android:facebook-android-sdk:3.23.1' //tried older versions as well
}

推荐答案

首先你应该尝试使用 gradle :MODULE:dependencies 列出你的依赖项检查是否存在库冲突(相同的库但版本不同).在这种情况下,我认为您应该从 Facebook SDK 中排除支持库模块.

First of all you should try to list your dependencies with gradle :MODULE:dependencies Check if there are libraries conflicts ( same library but different version ). In this case i supose you should exclude support library module from Facebook SDK.

compile ('com.facebook.android:facebook-android-sdk:3.23.1'){
        exclude group: 'com.google.android', module: 'support-v4'
    }

相关文章