java.exe使用 Facebook SDK 时以非零退出值 2 完成

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

Error: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_60\bin\java.exe'' finished with non-zero exit value 2

如果我摆脱了Facebook Android SDK,它的编译没有问题。

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
}

答案 1

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

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

答案 2

在使用Facebook SDK项目库时,Pawel的解决方案对我有用。

但是,在我迁移到Gradle依赖项后,它停止了工作。试图重建/重新打开项目,但没有任何帮助。'com.facebook.android:facebook-android-sdk:4.1.1'

这对我有用:

compile ('com.facebook.android:facebook-android-sdk:4.1.1') {
    exclude module: 'support-v4'
}

推荐