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

时间:2015-03-13 09:25:37

标签: java android gradle android-gradle facebook-android-sdk

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

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,它会毫无问题地编译。

我的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
}

2 个答案:

答案 0 :(得分:18)

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

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

答案 1 :(得分:0)

在使用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'
}