Gradle依赖项排除无效

时间:2016-02-29 14:03:00

标签: android android-gradle build.gradle gradle-dependencies

我的项目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:任务执行失败   ':应用模块: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'
}

但没有任何接缝可以工作......我怎么能解决这个问题呢? 感谢。

1 个答案:

答案 0 :(得分:4)

问题出在“play-services-gcm'而不是播放服务'

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

那些错字错误......好吧我以为我可以删除这个问题但是,有一段时间有人有同样的问题,所以我会把它留在这里希望也许它可以帮助有需要的人。