在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
我该如何解决?请帮忙!
答案 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"
}
}
它对我有用。