错误:任务':app:dexDebug'执行失败。 >命令以非零退出值2结束

时间:2015-04-20 12:02:04

标签: android-intent android-fragments android-activity

在android studio中我实现推送通知。我下载了一个demo并在android studio中导入。 源代码没有问题,但是当我运行这个程序时,它会显示问题:

错误:任务':app:dexDebug'执行失败。

  

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.8.0_40 \ bin \ java.exe''已完成具有非零退出值2

我该如何解决?请帮忙!

5 个答案:

答案 0 :(得分:3)

您需要知道问题的根本原因。有时它可能是JDK错误。当我分析时,我找到了

  

无法执行dex:方法ID,而不是[0,0xffff]:65536

正好在以下错误

之上
  

org.gradle.process.internal.ExecException:进程'命令   ' C:\ Program Files \ Java \ jdk1.8.0_40 \ bin \ java.exe''完成了   非零退出值2

所以我启用了multidex并且它工作了

android {
   defaultConfig {
      ...
      multiDexEnabled = true
   }
}

因此,为了找出问题所在,只需跟踪出错的地方。

答案 1 :(得分:1)

问题是JDK ..使用JDK 7,因为8不支持实现Android。阅读更多相关信息here。祝你好运

答案 2 :(得分:0)

不确定您是否已经尝试过,但我从.gradle文件夹中删除了.bin和.lock文件(但保留了cache.xml)并且它已成功构建!问题解决了我。

我切换到JDK 7但它没有改变任何东西,所以回到版本8。

答案 3 :(得分:0)

这个问题不是因为JDK 1.8或1.7,而是由于依赖性。请检查您的Gradle依赖项。

我遇到了类似的问题,在我的情况下,问题是由于Facebook依赖性而发生的

dependencies {
    ...
    ...
    ...
    ...
    ...
    //Commented the following one
    compile 'com.facebook.android:facebook-android-sdk:4.0.0'
}

在评论上述行后,一切正常

答案 4 :(得分:0)

尝试将dexOptions块添加到android

android {

    dexOptions {
        javaMaxHeapSize "4g"
    } 
}

它对我有用。