В проекте "приложение" разрешенная зависимость библиотеки сервисов Google Play зависит от другой в точной версии
Попытка создать простое приложение с FireStore и Google Authentication. Возникли проблемы с Gradle:
В проекте "приложение" разрешенная зависимость библиотеки служб Google Play зависит от другой в конкретной версии (например, "[15.0. 1]", но не разрешается в этой версии. Поведение, демонстрируемое библиотекой, будет неизвестно.
Ошибка зависимости: com.google.android.gms: play-services-flags: 15.0.1 → com.google.android.gms: play-services-basement @[15.0.1], но версия play-services-basement была 16.0.1.
Следующие зависимости являются проектными зависимостями, которые являются прямыми или имеют транзитивные зависимости, которые приводят к искусственному решению проблемы. - "Приложение" проекта зависит от com.google.firebase: [email protected] - "Приложение" проекта зависит от com.firebaseui: [email protected]
Для расширенной информации об отладке выполните Gradle из командной строки с помощью. /gradlew --info: app: assemblyDebug, чтобы увидеть пути удаления для артефакта. Это сообщение об ошибке поступило от подключаемого модуля google-services Gradle, сообщите о проблемах по адресу https://github.com/google/play-services-plugins и отключите его, добавив googleServices {disableVersionCheck = false} в файл b uild.gradle.
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "myapp.com"
minSdkVersion 19
targetSdkVersion 27
versionCode 11
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin
Проект Gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Кто-нибудь может мне помочь?
Ответы
Ответ 1
Проблема заключалась в том, что отсутствовала зависимость. Добавление com.google.firebase: firebase-auth решил проблему.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
// implementation'com.google.firebase:firebase-core:16.0.6'
// implementation'com.google.firebase:firebase-storage:16.0.5'
implementation'com.google.firebase:firebase-auth:16.1.0' => add this line
implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}
Ответ 2
Существует известная ошибка в Службах Google 4.2.0, которая может вызвать это. Понижение версии вашего google-сервисов до 4.1.0 в вашем проекте build.gradle может решить проблему
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
}
}
Ответ 3
Спасибо, но, к сожалению, это не совсем работает для меня. Я также должен был добавить следующее в свой build.grade (Модуль: приложение)
implementation 'com.google.android.gms:play-services-flags:16.0.1'
implementation 'com.google.android.gms:play-services-basement:16.0.1'
Ответ 4
Я добавил последнюю версию Firebase Messaging в build.gradle(Module: app) в моем проекте, и проблема решена
implementation 'com.google.firebase:firebase-messaging:20.0.0'
Ответ 5
Обновление всех моих библиотек Сервисов Google Play до последней версии во ВСЕХ модулях решило проблему для меня. Я не вижу, чтобы у вас были какие-либо библиотеки Google Play Services, но я хочу оставить этот ответ здесь для тех, кто может найти это полезным.
Ответ 6
Здесь есть много ответов для индивидуальных решений, которые на самом деле не сводятся к проблеме. Вот как это вообще можно решить:
Как показывает исходный вывод журнала, полезно запустить сборку в терминале с помощью следующей команды:
./gradlew --info assembleDebug
Это даст вам список всех зависимостей, которые вовлечены в конфликт. Это выглядит примерно так (я убрал название пакета, чтобы сделать его более читабельным):
Dependency Resolution Help: Displaying all currently known paths to any version of the dependency: Artifact(groupId=com.google.firebase, artifactId=firebase-iid)
-- task/module dep -> [email protected]
---- firebase-analytics:17.2.0 library depends -> [email protected]
------ play-services-measurement-api:17.2.0 library depends -> [email protected]
-- task/module dep -> [email protected]
---- firebase-core:17.2.0 library depends -> [email protected]
------ firebase-analytics:17.2.0 library depends -> [email protected]
-------- play-services-measurement-api:17.2.0 library depends -> [email protected]
-- task/module dep -> [email protected]
---- play-services-measurement-api:17.2.0 library depends -> [email protected]
-- task/module dep -> [email protected]
-- task/module dep -> [email protected]
---- firebase-messaging:17.1.0 library depends -> [email protected][16.2.0]
-- task/module dep -> com.pressenger:[email protected]
---- com.pressenger:sdk:4.8.0 library depends -> [email protected]
------ firebase-messaging:17.1.0 library depends -> [email protected][16.2.0]
Из этого списка вы узнаете 2 вещи:
- Где находится конфликтующая зависимость?
- Какие версии конфликтующей зависимости установлены
В моем случае конфликтующая зависимость firebase-iid
: либо @19.0.0
, либо @16.2.0
Чтобы это исправить, вы должны явно определить неверную firebase-iid
зависимость верхнего уровня в вашем build.gralde
.
Таким образом, в верхнем журнале видно, что есть 2 примера устаревшей версии [email protected] Один из -- task/module dep -> [email protected]
, другой из сторонней библиотеки (президент). Мы не имеем никакого влияния на стороннюю библиотеку, поэтому тут нечего делать.
Но для другой зависимости мы должны объявить ее явно с правильной версией:
implementation 'com.google.firebase:firebase-messaging:20.0.0'
Теперь сборка снова работает. Счастливый конец :)
Ответ 7
Добавьте FCM в свое приложение. Добавлена нижняя зависимость. Затем я изменил зависимость до последней версии, эта проблема решена.
compile 'com.google.firebase:firebase-messaging:17.3.4'
в
implementation 'com.google.firebase:firebase-messaging:20.0.0'
Ответ 8
Рабочим решением для меня было удалить "firebase-auth" и добавить зависимость "firebase-core". Но после нескольких перестроений проекта у меня возникла другая проблема с компиляцией, поэтому мне пришлось добавить зависимость "firebase-auth" в дополнение к "firebase-core", чтобы она работала:
implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.firebase:firebase-core:17.0.1'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
Ответ 9
Мой проект работал нормально (я имею в виду, я могу построить его без каких-либо проблем), вдруг я получил эту ошибку
"Разрешенная зависимость библиотеки сервисов Google Play зависит от другой в точной версии.."
и позже я понял, что это потому, что только я строил офлайн: странное поведение, я думаю, это своего рода ошибка!
Так что для тех, кто получает такую ошибку, пожалуйста, проверьте, что вы не в автономном режиме при создании приложения