我试图将一个Leader Board添加到Chrome演员项目中,但我遇到了错误。 Android Studio中的Android项目。在我的gradle构建中 - 错误:包含名称的多个库' com.google.android.gms'
我理解为什么你不想使用两个不同的同名库,但不知道如何在整个项目中使用同一个库。以下是gms的两种用法: 1)主要活动依赖于' CastCompanionLibrary-android-master'然后使用google-play-services_lib。我不确定使用哪个版本的gms,但是清单中引用了版本号。这只是抓住他们手机上安装的播放服务版本吗? 2)BaseGameUtils - 依赖于com.google.android.gms:play-services:+(我认为这是抓住最新版本的播放服务,但与其他播放服务不匹配。
MainActivity gradle file
dependencies {
compile project(':BaseGameUtils')
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':CastCompanionLibrary-android-master')
}
CastCompanionLibrary-android-master dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':android-support-v7-appcompat')
compile project(':android-support-v7-mediarouter')
compile project(':google-play-services_lib')
}
BaseGameUtils dependencies {
compile 'com.android.support:appcompat-v7:20.0.+'
compile 'com.android.support:support-v4:20.0.+'
compile 'com.google.android.gms:play-services:+'
}
所以,问题(我认为)是这两个版本的com.google.android.gms,但我如何纠正它以便它们都使用相同的版本。我已经有近2年的Android工作经验,但这是我关于堆栈溢出的第一个问题。感谢帮助 - 那里有没有一位大师可以解答这个问题?
答案 0 :(得分:0)
好像你已经修改了CCL的gradle文件,因为你所拥有的与CCL在GitHub中的内容不匹配。最好的方法是只使用你需要的游戏服务;例如,CCL只需要播放服务 - 演员(除了基础,它将被自动拉入),所以如果你遵循这种模式,事情会看起来更小(运行到64K dex限制的可能性更小)和更少的冲突.CCL ,在Github中,将其依赖性列为:
compile 'com.google.android.gms:play-services-cast:6.5+'
因此您可能希望开始使用版本并遵循我刚刚提出的建议(同样适用于您拥有的任何其他代码并使用播放服务;只需提取您真正需要的内容)