Пытаюсь создать простое приложение с FireStore и Google Authentication. Возникла проблема с градиентом:
In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[15.0. 1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
Dependency failing: com.google.android.gms:play-services-flags:15.0.1 -> com.google.android.gms:play-services-basement@[ 15.0.1], but play-services-basement version was 16.0.1.
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art ifact with the issue. -- Project 'app' depends onto com.google.firebase:[email protected] -- Project 'app' depends onto com.firebaseui:[email protected]
For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https:// github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b uild.gradle file.
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
Градл проекта:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Кто-нибудь может мне помочь?
Проблема заключалась в отсутствии зависимости. Добавление 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'
}
Используйте последнюю версию com.google.firebase: firebase-auth: 17.0.0, чтобы избежать ошибки во время выполнения.
Как ты это понял?
Обновление всех моих библиотек сервисов Google Play до последней версии во ВСЕХ модулях решило проблему для меня. Я не вижу, чтобы у вас есть какие-либо библиотеки сервисов Google Play, но я хочу оставить этот ответ здесь для тех, кто может найти это полезным.
Спасибо, но, к сожалению, у меня это не сработало. Мне также пришлось добавить следующее в мой build.grade (Module: app)
implementation 'com.google.android.gms:play-services-flags:16.0.1'
implementation 'com.google.android.gms:play-services-basement:16.0.1'
Это может быть вызвано известная ошибка с Google Services 4.2.0. Понижение версии google-services до 4.1.0 в build.gradle вашего проекта может решить проблему.
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
}
}
Я использую classpath 'com.google.gms:google-services:4.3.3', хотя получаю сообщение об ошибке.
Снизился до 4.1.0, и теперь все работает нормально.
У меня эта проблема возникает при добавлении полосы sdk. Этот метод решает проблему. Никогда не угадай, это проблема гугл-сервиса. Спасибо.
Добавить FCM в ваше приложение добавлено Более низкая зависимость Затем я изменил зависимость на последнюю версию, которую решила эта проблема.
compile 'com.google.firebase:firebase-messaging:17.3.4'
к
implementation 'com.google.firebase:firebase-messaging:20.0.0'
Я добавил последнюю версию обмена сообщениями firebase в build.gradle (Module: app) в свой проект, и проблема решена
implementation 'com.google.firebase:firebase-messaging:20.0.0'
Большое спасибо! Легко и эффективно, сэкономив много времени!
Рабочим решением для меня было удаление 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'
Здесь есть много ответов для индивидуальных решений, которые на самом деле не сводятся к проблеме. Вот как это вообще решить:
Как следует из исходных выходных данных журнала, полезно запустить сборку в терминале с помощью следующей команды:
./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 -> firebase-iid@[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 -> firebase-iid@[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'
Теперь сборка снова работает. Счастливый конец :)
Спаси мой день. Спасибо
А как ты перескочил с \ @ 19.0.0 и \ @ 16.2.0 на \ @ 20.0.0
@baconcheese, дело не в другой версии filebase-iid! Вместо этого вы должны явно установить зависимость всех task/module dep, которые используют устаревшую версию firebase-iid.
Это было чрезвычайно полезно. Большое спасибо за объяснение вашего ответа
@ live-love, можешь ли ты отметить это как правильный ответ?
Что ж, это очень помогло мне узнать об этом способе прямого получения журнала gradle, но мне все еще было трудно (и мне повезло, я думаю, в определенном смысле), чтобы узнать, какую версию использовать для моей зависимости верхнего уровня. Для меня исправление было: «implementation 'com.google.android.gms: play-services-vision: 20.1.0'», но я не был уверен, где найти, какие версии были даже доступны для play-services-vision (20.1 .2 был последним, я думаю, но 20.1.0 работал). Получил это от developers.google.com/android/guides/setup
@Eradicatore - это не столько конкретная версия, сколько нужно иметь одну и ту же версию для всех зависимостей. Вы можете найти список распространенных выпусков здесь: developers.google.com/android/guides/releases (используйте Ctrl + F, чтобы найти нужную библиотеку)
Мой проект работал нормально (проблем со сборкой нет). Внезапно я получил эту ошибку
"resolved Google Play services library dependency depends on another at an exact version.."
Я понял, что это потому, что я строил офлайн.
Если кто-то получит такую же ошибку, проверьте, строите ли вы офлайн.
Я был похож на вас, проект работал, и внезапно я столкнулся с этой ошибкой, моя проблема заключалась в http-прокси, который я установил в студии Android, он был отключен, и я не мог синхронизировать или построить свой проект.
Для меня это ново, если ваша сеть небезопасна и вы получаете запрос о ненадежном сертификате.
Если вы сделаете Принять или отклонить, он будет выдавать эту ошибку, пока ваша сеть не будет защищена.
Вы можете работать офлайн, отметив Настройка -> Gradle -> Автономный режим
Была ошибка, связанная с google-сервисами, которая была исправлена в версии 4.3.3.
Таким образом, вы можете использовать 4.3.3 или последняя версия (проверьте здесь)
classpath 'com.google.gms:google-services:4.3.3' // or latest version
или перейти на 4.1.0
classpath 'com.google.gms:google-services:4.1.0'
Ни один из других ответов не помог мне. В моем случае React-Native 61+ пытается настроить FCM и Analytics. Что сработало для меня, так это использование последней версии google-services в android/build.gradle.
dependencies {
classpath "com.android.tools.build:gradle:3.4.2"
classpath "com.google.gms:google-services:4.3.3" // Need the latest here
}
А затем добавление зависимостей gradle в android/app/build.gradle, необходимых для продуктов, которые я использую (в моем случае Analytics и Cloud Messaging) из здесь
dependencies {
...
// add the Firebase SDK for Google Analytics
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
...
}
На вашем app/build.gradle этот лимонный цвет может быть заблокирован в части зависимостей в Android Studio, как на картинке ниже,

Эти (блоки лимонного цвета) означают, что это не последняя версия зависимости. просто наведите указатель мыши на каждый блок, и IDE (Android Studio) сообщит числа, которые необходимо изменить.
Если вы использовали ответ песня хэсук, вам нужно сделать это как для проекта build.gradle (путь к классам в зависимостях), так и в приложении build.gradle (реализации). Также сделайте то же самое, если вы измените сборки для любых библиотек, импортированных в приложение.
Я использую предложения, предоставленные студией Android, и она изменила реализации, но не изменила зависимости, поэтому во время сборки возник конфликт между ними, и это дало мне ту же ошибку.
Проблема была исправлена после обновления этой библиотеки в моем проекте build.gradle:
classpath 'com.google.gms:google-services:4.3.3'
и эти в файле build.gradle модуля приложения:
implementation 'com.google.firebase:firebase-core:17.3.0'
implementation 'com.google.firebase:firebase-messaging:20.1.5'
После этого используйте меню Android Studio Clean.
Я воспроизвел проблему, когда случайно дважды добавил com.google.firebase:firebase-ml-vision с разными версиями.
Добавьте строку ниже в свой проект build.gradle (см. Изображение ниже)
classpath 'com.google.gms:google-services:4.3.3'
Затем обновите свои пакеты, связанные с Firebase, перейдя по ссылке:
Файл> Структура проекта> Зависимости> приложение
Обновите модули Firebase до последней версии (см. Изображение ниже)
В моем случае я использую:
implementation 'com.google.firebase:firebase-database:19.3.0'
implementation 'com.google.firebase:firebase-auth:19.3.1'
implementation 'com.google.firebase:firebase-messaging:20.1.7'
implementation 'com.google.firebase:firebase-core:17.4.0'
implementation 'com.google.firebase:firebase-storage:19.1.1'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
Не забудьте добавить:
apply plugin: 'com.google.gms.google-services'
См. Файл build.gradle моего модуля ниже.
Я решил это, просто очистив блок зависимостей на уровне приложения, оставив только зависимости Android по умолчанию, например:
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'androidx.multidex:multidex:2.0.0'
}
Я только что попробовал принятый ответ @ live-love и согласен с таким подходом.
Однако было бы более точным исправить ваши зависимости в соответствии с последняя версия библиотеки сервисов Google.
В моем случае это произошло, когда я просто добавил / активировал службу Firebase в приложение.
Вам необходимо следить за последней версией в проекте и приложении Gradle.
app/build.gradledependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
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'
//Android Support Design Library
implementation 'com.android.support:design:27.1.1'
//RecyclerView
implementation 'com.android.support:recyclerview-v7:27.1.1'
// Support multidex
implementation 'com.android.support:multidex:1.0.3'
// Firebase Core
// implementation 'com.google.firebase:firebase-core:16.0.1'
//Firebase Authentication
implementation 'com.google.firebase:firebase-auth:19.3.1'
// Firestore Firestore
implementation 'com.google.firebase:firebase-firestore:21.4.3'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
// glide
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
// Circle ImageView
implementation 'de.hdodenhof:circleimageview:2.2.0'
}
apply plugin: 'com.google.gms.google-services'
build.gradle моего проектаdependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Не забудьте снова синхронизировать Gradle.
Я использую One Signal и обнаруживаю эту ошибку один раз.
Причина была:
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'
поставить apply plugin на один сигнал перед 'com.android.application'.
Может быть, это будет полезно и для некоторых других apply plugin.
This worked for me!
dependencies {
classpath "com.android.tools.build:gradle:3.4.2"
classpath "com.google.gms:google-services:4.3.3" // Need the latest here
}
dependencies {
...
// add the Firebase SDK for Google Analytics
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
...
}
В последней версии библиотеки ML Kit были проблемы с версией.
Google Play services library dependency depends on another at an exact version error (thrown by the google-services plugin)
Вот ссылка на решение. https://firebase.google.com/support/release-notes/android#bom_v25-8-0
как вы узнали об этом?