android 项目:进程以非零退出值 2 结束

android project: process finished with non-zero exit value 2

我无法编译我的 android 项目。 Google 和其他 SO 帖子告诉我它(可能)与依赖关系有关,但我找不到位置。这是错误:

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

和我的 gradle 文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.example.skate.socialskate"

        minSdkVersion 21
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.google.android.gms:play-services:7.3.0'
    compile 'com.google.apis:google-api-services-youtube:v3-rev136-1.20.0'
    compile 'com.android.support:cardview-v7:22.1.0'
    compile 'com.android.support:recyclerview-v7:21.0.+'
    compile 'de.hdodenhof:circleimageview:1.2.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
    compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
    compile 'org.jsoup:jsoup:1.8.2'
    compile 'com.github.shell-software:fab:1.1.0'
    compile 'com.google.api-client:google-api-client:1.18.0-rc'



}

当我将一些 class 文件重构为库项目并且我有一个 class 文件的重复名称时,这发生在我身上。所以,仔细检查你没有任何重复的名字。

Android工作室建议,

Avoid using + in version numbers can lead to unpredictable and unrepeatable builds.

+ in dependencies lets you pick up automatically the latest available version rather than a specific one, however this is not recommended.

You may have tested with a slightly different version than what build server used.

删除加号添加特定版本后,我的问题已解决。

在我的例子中,我写在 build.gradle 解析快速指南中的依赖项

dependencies{
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.parse:parse-android:1.+'
}

然后我用

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

保存更改,重新启动 android 工作室和 运行 项目。它适用于我的情况。

我在 build.gradle 文件中使用过这个命令。

configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}

它已经解决了这个 "non-zero-exit-value" 和另一个 'duplicate entry during packageAllDebugClassesForMultiDex'。

发生在我​​身上的日期是 07/08/2016.

更新到最新的 android studio 后,我刚收到这个确切的错误。

我通过 更新 我的 java jdk [=18= 解决了这个问题] 从 java jdk 7 到 java jdk 8.

现在我的构建工作正常。我认为 android studio 的最新版本需要 jdk 8…