Android Studio 模拟器错误 - 以非零退出值 2 结束

标签 android debugging gradle

所以我有一个应用程序,我已经开发/测试了一段时间,将它加载到我的手机上进行调试完全没有问题。有一天不知从哪里开始它开始抛出错误并且不再让我运行模拟器。错误如下:

* What went wrong:
Execution failed for task ':app:dexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2

gradle控制台输出如下错误:

AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":           {},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexException: Multiple dex   files define Lbolts/AggregateException;","position":  {},"original":"com.android.dex.DexException: Multiple dex files define    Lbolts/AggregateException;"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)","position"     :{},"original":"\tat  com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)","position": {},"original":"\tat   com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)","position":{},"original":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)","position":{},"original":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)","position":{},"original":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)"}
AGPBI: {"kind":"SIMPLE","text":"\tat  com.android.dx.command.dexer.Main.main(Main.java:215)","position": {},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)"}
AGPBI: {"kind":"SIMPLE","text":"\tat   com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat   com.android.dx.command.Main.main(Main.java:106)"}

我已经在 SO 和 google 上搜索了几个案例中的这个确切错误,但似乎没有一个解决方案在这里有效。我还在下面附上了我的 build.gralde 文件。

apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "22.0.0"

defaultConfig {
    applicationId "****"
    minSdkVersion 11
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')

这里有人可以给我一点帮助吗?

最佳答案

在我的例子中,问题是通过清理项目并从 build.gradle 中的依赖项中删除一些未使用的库来解决的。

如果您必须保留库,那么您可以通过添加默认配置来启用多 dex。

defaultConfig 
{        
    // Enabling multidex support.

    multiDexEnabled true
}

关于Android Studio 模拟器错误 - 以非零退出值 2 结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29337523/

相关文章:

gradle - 在Debian文件创建任务中创建目录

android - Android和Unity之间如何通信?

从 Datepicker 将日期格式化为 MM-DD-YYYY

javascript - 当在浏览器的开发工具中暂停一条语句时,如何在该语句之后立即终止执行?

c++ - 使用 LLDB 检查 VSCode 中的 C++ std::set

android - Gradle 中新的 Implement 关键字是什么

java - IntelliJ 无法解析 gradle java 跨模块测试依赖

android - 更新后 Google Ads SDK 不推荐使用 InterstitialAd,如何解决?

android - 如何使用 Azure 应用服务让 Google 帐户显示离线范围

c++ - 为什么 Windows 的 gflags 不会因这段代码而崩溃?