任何人都可以帮我解决以下错误。当我清理项目时,它没有显示任何错误,但每次我尝试运行时都会收到此消息。
错误:任务':app:dexDebug'执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令' C:\ Program Files \ Java \ jdk1.8.0_45 \ bin \的java.exe''完成非零退出值2
应用程序运行时没有错误但是当我的系统崩溃并重新启动android工作室时我几乎没有针对Android API 22的更新。更新后应用程序不断给我这个错误消息。我下载了JDK 8并尝试运行但没有工作。后来我在这个堆叠帖后降级到JDK 7,但仍然没有修复它。 Is it possible to use Java 8 for Android development?
我看过很多类似的问题,但没有一个对我有用。堆栈上发现的一些类似问题是
why java.exe exit with value 1 in android studio
Error:Execution failed for task ':app:dexDebug'. > comcommand finished with non-zero exit value 2
Java finished with non-zero exit value 2 - Android Gradle
java.exe finished with non-zero exit value 2
我已经查看了gradle中的依赖项,以查看是否存在任何冲突但未找到任何冲突。
我甚至尝试将代码复制到一个新项目中并运行它但仍然没有成功。任何遇到同样问题并解决它的人请帮助我。
答案 0 :(得分:36)
经过几天的尝试终于可以解决问题。我的一个.jar文件的问题。我不得不拆下每个罐子并逐个检查,直到找到它为止。我删除了.jar文件并清理了我的项目并成功运行。如果任何人应该面对类似的问题,请逐个检查你的jar文件。
答案 1 :(得分:30)
我有同样的错误
app:dexDebug ExecException以非零退出值2
结束
我通过添加这行代码来解决它
defaultConfig {
multiDexEnabled true
}
原因是我使用了太多的库
希望这篇文章可以帮助任何人
答案 2 :(得分:8)
当我将google play服务编译为我的依赖项时,我遇到了同样的问题。
我的错误是我正在编译像这样的enitre包
编译'com.google.android.gms:play-services:8.3.0'
相反,当我尝试选择性编译时,它工作。在我的情况下,我用于谷歌登录,所以它只是必须
编译'com.google.android.gms:play-services-auth:8.3.0'。
更多细节在文件中。 https://developers.google.com/android/guides/setup#split
希望有一天这会对某人有所帮助:)
答案 3 :(得分:4)
我知道它已经很晚了。 但这对我来说真的有用。
1. Build > Clean Project
2. Close gradle daemon processes (ps -e| grep gradle //this will list gradle processes)
3. File > Invalidate caches & Restart
我希望这对每个人都有效。
答案 4 :(得分:3)
对我来说,解决方案是删除不必要/重复的依赖项。这是其他人在这里提供的类似解决方案,但与其他人提供的解决方案并不完全相同。
由于我已将* .jar文件包含在要编译的文件列表中,因此不需要在依赖项列表中添加其他条目。
之前:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
}
后:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
答案 5 :(得分:3)
对于未来的读者。如果您正在使用自己的AAR并升级具有共享依赖关系的AAR,您也可以尝试清理项目。在Android Studio“Build”中 - > “清洁工程”。
这解决了我的问题,因此我建议您在开始挖掘依赖项之前先试一试。
答案 6 :(得分:2)
删除
compile 'com.parse:parse-android:1.+'
添加此行compile fileTree(dir: 'libs', include: ['Parse-*.jar'])
最后,它看起来像这样
dependencies {
compile fileTree(dir: 'libs', include: ['Parse-*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
compile 'com.android.support:design:22.2.0'
compile 'com.parse.bolts:bolts-android:1.+'
}
答案 7 :(得分:0)
我在我的android项目中使用了robolectric依赖项。我删除了gradle中的所有robolectric依赖项并删除了所有我的robolectric测试,然后我构建了应用程序,最后我可以运行android项目。希望这对我们有用。
答案 8 :(得分:0)
我在尝试将SignalR Java client库添加到项目的依赖项时遇到了同样的问题。我首先将我的应用程序的目标JDK从1.8.0_XX更改为1.7.0_XX,但它没有工作。然后我将SignalR项目更改为目标1.7.0_XX,重建并将其添加到我的项目的libs文件夹而不是第一个版本(在1.8.0_XX中),这奇迹般地起作用。
答案 9 :(得分:0)
对我来说,问题是我使用的是不同版本的“Google Play服务子API”
<强>之前:强> Click to see the image
<强>后:强> Click to see the image
答案 10 :(得分:0)
我有同样的问题,只是我做了Biuld - &gt; Rebiuld项目,它再次工作;)
答案 11 :(得分:0)
检查是否有2个同名的班级。每个班级名称都应该是唯一的。
答案 12 :(得分:0)
也许对于这个问题,你得到的意思是你多次添加相同的liberay文件