【问题标题】:android project: process finished with non-zero exit value 2android项目:进程以非零退出值2完成
【发布时间】:2015-05-19 08:08:36
【问题描述】:

我无法编译我的 android 项目。谷歌和其他 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'



}

【问题讨论】:

  • 查看错误前的构建输出。细节通常就在那里。
  • 运行 gradle dependencies 任务,它会显示一个依赖树,包括传递依赖。这样,您就可以看到发生冲突的位置。

标签: android-studio gradle android-gradle-plugin


【解决方案1】:

当我将一些类文件重构为库项目并且我有一个类文件的重复名称时,这发生在我身上。因此,请仔细检查您是否有任何重复的名称。

【讨论】:

  • 如果使用Android Studio,请检查Gradle Console选项卡是否有错误。如果向上滚动,您应该会看到类似 UNEXPECTED TOP-LEVEL EXCEPTION com.android.dex.DexException: Multiple dex files define FILE_NAME_AND_PATH
【解决方案2】:

Android Studio 建议,

避免在版本号中使用 + 会导致不可预测和不可重复的构建。

+ in dependencies 让您可以自动选择最新的可用版本而不是特定版本,但不建议这样做。

您测试的版本可能与构建服务器使用的版本略有不同。

删除加号添加特定版本问题在我的情况下得到解决。

【讨论】:

    【解决方案3】:

    这件事发生在我身上的日期是 07/08/2016

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

    我通过更新我的 java jdk 从 java jdk 7 到 java jdk 8 解决了它。

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

    【讨论】:

      【解决方案4】:

      在我的例子中,我写了解析快速指南中的 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 studio 并运行项目。它在我的情况下有效。

      【讨论】:

        【解决方案5】:

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

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

        它已经解决了这个“非零退出值”和另一个“packageAllDebugClassesForMultiDex 期间的重复条目”。

        【讨论】:

          猜你喜欢
          • 2015-09-26
          • 1970-01-01
          • 2015-06-27
          • 1970-01-01
          • 1970-01-01
          • 2016-01-19
          • 2015-07-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多