:app:dexDebug ExecException用非零的退出值2结束

任何人都可以帮我解决以下错误。 当我清理项目是显示没有错误,但每次我尝试运行我得到这个消息。

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

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'C:\ Program Files \ Java \ jdk1.8.0_45 \ bin \ java.exe'零退出值2

该应用程序运行没有错误,但当我的系统崩溃,并重新启动android studio我有几个更新的Android API 22.更新后,应用程序不断给我这个错误消息。 我下载了JDK 8并试图运行,但没有工作。 后来我降级到这个堆栈后,但仍然没有解决它的JDK 7。 是否有可能使用Java 8进行Android开发?

我已经浏览了许多类似的问题,但没有一个适合我。 在堆栈上发现一些类似的问题

为什么java.exe在android studio中以值1退出

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

Java完成非零退出值2 – Android Gradle

java.exe完成非零退出值2

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

我已经通过gradle中的依赖关系来查看是否有任何冲突,但没有发现任何冲突。

我甚至试图将代码复制到一个新的项目,并运行它,但仍然没有成功。 任何人遇到同样的问题,并解决它请帮助我。

经过几天的尝试终于可以解决这个问题。 我的一个.jar文件存在问题。 我必须删除每个jar子,并逐一检查,直到我find它。 我删除了.jar文件并清理了我的项目并成功运行。 如果有人遇到类似的问题,请逐个检查你的jar文件。

我有同样的错误

应用程序:dexDebug ExecException完成非零退出值2

我通过添加这行代码来解决它

defaultConfig { multiDexEnabled true } 

原因是我使用了太多的库

希望这个post可以帮助任何人

当我将Google Play服务编译到我的依赖项时,我遇到了同样的问题。

我的错误是我正在编译这样的enitre软件包

编译“com.google.android.gms:play-services:8.3.0”

相反,当我尝试select性编译,它的工作。在我的情况下,我用谷歌login,所以它只是

编译“com.google.android.gms:play-services-auth:8.3.0”。

更多细节在文件中。 https://developers.google.com/android/guides/setup#split

希望这对某个人有点帮助:)

我知道这是晚了。 但是这是真正为我工作的。

 1. Build > Clean Project 2. Close gradle daemon processes (ps -e| grep gradle //this will list gradle processes) 3. File > Invalidate caches & Restart 

我希望这会适用于每个人。

为未来的读者。 如果您正在使用自己的AAR并升级具有共享依赖项的AAR,则也可以尝试清理该项目。 在Android Studio“Build” – >“Clean Project”中。

这为我解决了这个问题,所以我build议在开始挖掘依赖之前快速尝试一下。

对我来说,解决scheme是删除不必要/重复的依赖项。 这是其他人提供的类似解决scheme,这是有道理的,但与其他人提供的解决scheme不完全相同。

由于我已经在要编译的文件列表中包含了* .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' 

}

删除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.+' } 

我在我的android项目中使用robolectric依赖项。 我删除了gradle中的所有robolectric依赖关系,并删除了所有的robolectrictesting,然后我构build了应用程序,最后我可以运行android项目。 希望这可以为我们工作。

当我尝试将SignalR Java客户端库添加到项目的依赖关系时遇到同样的问题。 我首先将我的应用程序的目标JDK从1.8.0_XX更改为1.7.0_XX,但没有奏效。 然后,我改变了SignalR项目目标1.7.0_XX,重build并将其添加到我的项目的libs文件夹,而不是第一个版本(1.8.0_XX),奇迹般地工作。

对我来说,问题是我使用了不同版本的“Google Play服务子API”

之前: 点击查看图片

之后: 点击查看图片

检查是否有两个同名的类。 每个class级名称应该是唯一的。

我有同样的问题,只是我没有Biuld – > Rebiuld项目,它再次工作;)