进程'命令'C:\ Program Files \ Java \ jdk1.8.0_25 \ bin \ java.exe''以非零退出值2结束

时间:2015-12-28 14:02:08

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

我的项目有些错误。我是Android初学者。 当我尝试编译我的应用程序时,我收到以下错误

  

错误:任务':app:transformClassesWithDexForDebug'的执行失败。   com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'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 非常感谢。

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

2 个答案:

答案 0 :(得分:7)

 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
}

只是这一行 dexOptions {     javaMaxHeapSize" 4g" }

答案 1 :(得分:-1)

您似乎正在使用 Oracle的JDK版本8 ,它基于 Java 8 ,而不是Android支持正式。更多详情:https://stackoverflow.com/a/23318269/3535408

存在一些调整,但我不推荐它们。坚持 Java 7和JDK 7 ,你很高兴。

要更改JDK用法: 转到文件>项目结构> SDK位置>并更改JDK 7的JDK。您可以在此处下载最新版本的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编译,我的问题就解决了!

希望它有所帮助!