Как добавить BaseGameUtils в проект Chrome Cast?
Я пытаюсь добавить Leader Board в проект Chrome Cast и получаю ошибки. Android проект в Android Studio. В моей сборке Gradle - ошибка: более одной библиотеки с именем пакета 'com.google.android.gms'
Я понимаю, почему вы не хотите использовать две разные библиотеки с одним и тем же именем, но не знаете, как использовать одну и ту же библиотеку на протяжении всего проекта. Вот два варианта использования gms: 1) Основное действие зависит от CastCompanionLibrary-android-master, который затем использует google-play-services_lib. Я не уверен, какая версия gms используется, но номер версии указан в манифесте. Это просто захват версии # сервисов воспроизведения, которые они установили на свой телефон? 2) BaseGameUtils - зависит от com.google.android.gms:play-services:+ (я думаю, что это захват самой последней версии play-сервисов, но не соответствует другой.
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, но это мой первый вопрос о переполнении стека. Помощь приветствуется - есть ли гуру, у которого есть ответ на этот вопрос?
1 ответ
Похоже, что вы изменили файл Gradle для CCL, поскольку то, что у вас там есть, не совпадает с тем, что есть у CCL в GitHub. Наилучший подход - использовать только те услуги, которые вам нужны; например, для CCL требуется только приставка play-services (помимо базы, которая будет загружена автоматически), поэтому, если вы будете следовать этому шаблону, все будет выглядеть меньше (меньше вероятность столкновения с пределом dex 64 КБ) и меньше коллизий. CCL в Github перечисляет его зависимость как:compile 'com.google.android.gms:play-services-cast:6.5+'
так что вы можете начать использовать версии, а также следовать рекомендациям, которые я только что сделал (то же самое относится и к любому другому имеющемуся у вас коду и использовать сервисы воспроизведения; просто наберите то, что вам действительно нужно)