3

我的项目build.gradle依赖项是:

dependencies {
    ...
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.google.android.gms:play-services-maps:8.4.0'
    compile 'com.google.android.gms:play-services-analytics:8.4.0'
    compile 'com.google.android.gms:play-services-appinvite:8.4.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'

    compile 'co.realtime:messaging-android:2.1.58'
}

co.realtime :messageing-android build.gradle依赖项是:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile ('com.android.support:appcompat-v7:21.0.3'){
        transitive = true;
    }
    compile ('com.google.android.gms:play-services:6.1.71'){
        transitive = true;
    }
    compile ('com.googlecode.json-simple:json-simple:1.1'){
        transitive = true;
    }
}

如果我尝试编译我的项目,我会收到以下错误:

错误:Gradle:任务':app-module:processProdDebugResources'的执行失败。错误:多个库的包名称为 'com.google.android.gms' 您可以使用 android.enforceUniquePackageName=false 暂时禁用此错误 但是,这是暂时的,将在 1.0 中强制执行

如果我使用enforceUniquePackageName(false)我得到:

无法将符号解析为GoogleCloudMessaging.INSTANCE_ID_SCOPE

所以我想我必须通过管理依赖关系来解决这个问题。我试过了:

compile ('co.realtime:messaging-android:2.1.58'){
        exclude module: 'com.google'
}

compile ('co.realtime:messaging-android:2.1.58'){
        exclude group: 'com.google.android.gms', module: 'play-services-gcm'
}

但是没有任何接缝可以工作......我该如何解决这个问题?
谢谢。

4

1 回答 1

4

问题出在“play-services-gcm”而不是“play-services”

compile ('co.realtime:messaging-android:2.1.58'){
        exclude group: 'com.google.android.gms', module: 'play-services'
}

grrr 那些拼写错误...好吧,我想我可以删除这个问题,但是偶尔有人遇到同样的问题,所以我将把它留在这里,希望它可能对有需要的人有所帮助。

于 2016-02-29T14:10:51.863 回答