任务 ':MyApp:dexDebug' 执行失败

Execution failed for task ':MyApp:dexDebug'

我最近从 Eclipse 切换到 Android Studio,但我在编译我的应用程序时遇到了问题。我已经处理了很多问题并且能够解决所有问题,除了一个:

Error:Execution failed for task ':MyApp:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

我了解到这可能意味着您有重复的 jar,所以我检查了我的 gradle 配置,但它看起来不错。我什至经历过并评论了一对一(以及多对一/一对多)的编译,但无济于事。这是我的 gradle 配置:

dependencies {
    compile project(':comcrashlyticssdkandroid_crashlytics_2')
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/libGoogleAnalyticsServices.jar')
    compile files('libs/gcm.jar');
}

我最好的猜测是 libs/gcm.jar 因为 gcm 是 "deprecated" 到 google 播放服务。但是,没有gcm来玩服务迁移,所以我现在只能用gcm了。

另一个仅供参考,我在 Eclipse 中遇到了 dex 编译问题,但我将从项目中删除 "Private Libraries",一切正常。在 Android Studio 中是否有与此等效的内容?

我最大的问题是您建议我接下来尝试什么来解决这个问题?

您有:

dependencies {
    compile project(':comcrashlyticssdkandroid_crashlytics_2')
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/libGoogleAnalyticsServices.jar')
    compile files('libs/gcm.jar');
}

尝试:

dependencies {
    compile project(':comcrashlyticssdkandroid_crashlytics_2')
    compile 'com.android.support:support-v4:22.2.1' // updated
    compile 'com.google.android.gms:play-services-analytics:7.5.0' // updated
    compile 'com.google.android.gms:play-services-gcm:7.5.0' // updated
}

并遵循更新后的指南:https://developers.google.com/cloud-messaging/android/client

对于 crashlytics,使用他们的配置:http://docs.fabric.io/android/crashlytics/build-tools.html#gradle-advanced-setup

文档: https://developers.google.com/android/guides/setup