【问题标题】:Process 'command 'C:\Program Files\Java\jdk1.8.0_25\bin\java.exe'' finished with non-zero exit value 2Process 'command 'C:\Program Files\Java\jdk1.8.0_25\bin\java.exe'' 以非零退出值 2 结束
【发布时间】:2016-04-02 09:19:15
【问题描述】:

我的项目有一些错误。我是安卓初学者。 当我尝试编译我的应用程序时,出现以下错误

错误:任务 ':app:transformClassesWithDexForDebug' 执行失败。 com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_25 \bin\java.exe'' 以非零退出值 2 结束

我正在使用 Parse SDK 登录 Facebook,但此时,我的应用程序中只有以下代码:

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // [Optional] Power your app with Local Datastore. For more info, go to
    // https://parse.com/docs/android/guide#local-datastore
    Parse.enableLocalDatastore(this);

    Parse.initialize(this);

我的 build.gradle 是:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.example.daniele.myapplication"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}


  buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}  
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.+'
  }

我该如何解决? 这个第一个答案对我不起作用:java.exe finished with non-zero exit value 2 when using Facebook SDK 非常感谢。

编辑: 我解决了,暂时。 我从依赖项中删除了 'com.parse:parse-android:1.+' 并且它有效。 我不知道为什么,但是在解析的教程中,它建议添加所有这些依赖项

【问题讨论】:

  • 在 Gradle 控制台脚本中向上滚动,在出现该错误的位置上方,您将找到问题的实际根源。
  • 我现在解决了。我从依赖项中删除了 'com.parse:parse-android:1.+' 并且它有效。我不知道为什么,但是在解析的教程中,它建议添加所有这些依赖项
  • 你不需要 com.parse:parse-android:1.+ 来解析吗?当我删除我的时,我得到了更多的编译器错误
  • 找到原因和解决方案,至少对我来说,我在这里添加了答案:stackoverflow.com/a/35045501/3397345

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


【解决方案1】:
 defaultConfig {
    applicationId "com.minls.cmn"
    minSdkVersion 11
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true

}
**dexOptions {
    javaMaxHeapSize "4g"**
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

只写这一行 dex 选项 { javaMaxHeapSize "4g" }

【讨论】:

    【解决方案2】:

    您似乎使用的是 Oracle 的 JDK 版本 8,它基于 Android 不官方支持的 Java 8。更多细节在这里:https://stackoverflow.com/a/23318269/3535408.

    存在一些调整,但我不推荐它们。坚持 Java 7 和 JDK 7,一切顺利。

    更改 JDK 用法: 转到文件 > 项目结构 > SDK 位置 > 并将 JDK 更改为 JDK 7。您可以在此处下载 JDK 7 的最新版本:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    有一次我尝试在另一个 IDE (NetBeans) 中添加一个使用 JDK 8 编译的 Java 库。我没有在这个库中使用任何 Java 8 特性,例如 lambdas,但这足以让 Gradle 抱怨。 所以回到 NetBeans,我更改了设置,以便它与 JDK 7 一起编译,我的问题就解决了!

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2015-09-05
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多