Google cloud messaging getting java.lang.IllegalArgumentException:已添加:Lcom/Google/android/gms/gcm/GoogleCloudMessaging;

Google cloud messaging getting java.lang.IllegalArgumentException:已添加:Lcom/Google/android/gms/gcm/GoogleCloudMessaging;,android,android-studio,gradle,google-cloud-messaging,google-play-services,Android,Android Studio,Gradle,Google Cloud Messaging,Google Play Services,我正在尝试将推送通知集成到现有的Android应用程序中(使用Android studio),步骤如下 当我添加以下依赖项时,编译'com.google.android.gms:play services:7.5.0',gradle syncronization将永远持续(持续超过50分钟,因为我从未等到最后)。但是当我把这个依赖性放到:编译'com.google.android.gms:play services gcm:7.5.0'中时,它工作得很好(大约持续19分钟。这个项目中大约有20个

我正在尝试将推送通知集成到现有的Android应用程序中(使用Android studio),步骤如下

当我添加以下依赖项时,编译'com.google.android.gms:play services:7.5.0',gradle syncronization将永远持续(持续超过50分钟,因为我从未等到最后)。但是当我把这个依赖性放到:编译'com.google.android.gms:play services gcm:7.5.0'中时,它工作得很好(大约持续19分钟。这个项目中大约有20个依赖性)

这些是本项目中使用的一些依赖项:

    dependencies {
        compile 'com.android.support:support-v4:22.0.0'
        compile 'com.google.android:google-play-services:4.1.32'
        compile 'com.devsmart.android:devsmart-lib:1.0.0'
        compile 'com.jeremyfeinstein.slidingmenu.lib:sliding-menu:1.0.0'
        compile 'com.viewpagerindicator:viewpager-indicator:2.4.1'
        //compile 'com.google.android.gms:play-services:7.5.0'
        compile 'com.google.android.gms:play-services-gcm:7.5.0'
        compile 'com.google.android.gms:google-play-services_lib:4.1.32'
        //compile 'com.google.android.gms:play-services-maps:7.5.0'
        //compile 'com.google.android.gms:play-services-location:7.5.0'
        compile 'com.emilsjolander:sticky-list-headers:1.0.0'
        compile 'com.actionbarsherlock:actionbar-sherlock:4.2.0'
    .
    .
    .
        }

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    enforceUniquePackageName = false

    dexOptions {
        preDexLibraries = false
    }

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
.
.
.
我知道我不止一次地使用一些库(google play库):

但没有它们,项目就无法工作,因为有些类对这个项目很重要,我的角色不是改变它(只是在这个概念中集成推送通知)

由于这两个库中没有一个具有GcmListenerService类(至少我得到了一个错误,它不存在),我必须放置另一个google play模块依赖项:

compile 'com.google.android.gms:play-services-gcm:7.5.0'
现在,当我放置这个依赖项并开始同步时,除了尝试运行应用程序外,其他一切都可以正常运行。然后我得到这个错误:

java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/gcm/GoogleCloudMessaging;
.
.
.Error:Execution failed for task ':CA:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

为什么要使用新旧版本的google play services?较新版本的google play services没有在此项目中使用的某些类。这不是我的项目,我的工作不是改变所有的类来使用GoogleAppService,而不是其他的…我必须在不改变其他东西的情况下集成推送通知…你说不包括哪些类?如果您需要集成GCM并正确升级其他内容,那么您需要告诉项目负责人,在您能够正确完成工作之前,他们需要解决这些问题。底线是你不能有两个版本的google play服务。这不是一个人,而是一家公司。如果包名不同,可以有两个相同的库,但版本不同,例如:com.google.android:google play services:4.1.32和com.google.android.gms:google-play-services_lib:4.1.32。我在这里找到了某种解决方案:。但这对我没有帮助…显示更多的错误会有所帮助。我认为您应该建议在添加GCM之前解决Google Play服务复制问题。您可以查看android gradle插件中的PackageOptions以排除重复的类。
java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/gcm/GoogleCloudMessaging;
.
.
.Error:Execution failed for task ':CA:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1