com.google.android.gms: база данных play-services-измерения запрашивается различными другими библиотеками

173

Я обновил до gradle 4.0.1 и начал получать следующую ошибку

Библиотека com.google.android.gms: база измерения play-services-запрашивается различными другими библиотеками по адресу [[15.0.4,15.0.4]], но разрешается до 15.0.2. Отключите плагин и проверьте дерево зависимостей, используя ./gradlew: app: dependencies.

Мой проект не использует эту зависимость, поэтому я искал ее по всему миру, и она только появляется внутри

сборки / промежуточные / ворс кэш / maven.google / COM / Google / Android / GMS / группа-index.xml

как эта линия

<play-services-measurement-base versions="15.0.0,15.0.2"/>

Поэтому я попытался удалить папку сборки и очистить проект, но он восстанавливает его с теми же значениями: / следовательно, ошибка все еще остается

Ilja
источник
Решено здесь: я тоже столкнулся с той же проблемой при попытке добавить crashlytics в firebase. Пожалуйста , обновите последнюю версию зависимостей для com.google.android.gms: стыковые услуг и com.google.firebase: ...... . Это автоматически решит проблемы
Прия Раджан
У меня была последняя версия, и эта ошибка была понижена до 15.0.1, и это сработало!
Ландрыкапела
Пожалуйста, перейдите к этой проблеме и отметьте ее. Кажется, есть много проблем, потому что было много неопубликованных библиотек из jCenter.
Патрисио Сард

Ответы:

173

Актуальная проблема обсуждается в заметке о выпуске 23 мая на https://developers.google.com/android/guides/releases#may_23_2018

По сути, вам нужно повысить все библиотеки Play Services и Firebase до их последней версии ( которая может отличаться для каждой версии 15 ). Вы можете использовать https://mvnrepository.com/, чтобы найти последнюю версию для каждой библиотеки.

Смотрите также: https://firebase.google.com/support/release-notes/android#20180523

Нико
источник
5
maven.google.com также подходит для поиска выпущенных версий этих библиотек.
PaulR
52
LifeSaver. Google должен упростить эту версию. Это боль
Dibzmania
1
Ваш ответ помог мне понять это. Но мне пришлось использовать этот пост, чтобы на самом деле получить правильные версии, включенные в мой проект, и избежать ошибок.
Джейкоб Джоэл
12
Я использовал последнюю версию всех библиотек, но ошибка остается.
Студент
2
Если вы обновите все библиотеки до последних соответствующих версий, вы получите предупреждение: «Все библиотеки gms / firebase должны использовать одну и ту же спецификацию версий (смешивание версий может привести к сбоям во время выполнения)». Это ожидается? Как вы решаете это, а также исходную проблему?
user3369427
86

Единственное рабочее решение для меня:

положить его на дно build.gradle

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
HTW
источник
10
Для меня это решение скрывает сообщение, которое затем возникает по-другому: «Android зависимости» com.google.android.gms: play-services-measure-base »имеет разные версии для компиляции (15.0.4) и времени выполнения ( 16.0.0) classpath. Вы должны вручную установить ту же версию через DependencyResolution "
ARLabs
Это единственное решение, которое сработало для меня. Даже со всеми современными библиотеками.
Нери
Это работает, но используйте его как последнее средство. Я синхронизировал все версии Google Play и Firebase, но одна библиотека отказалась принять эту версию (она была жестко запрограммирована, чтобы требовать одну и только одну конкретную версию).
Пмонт
Вот такая шутка Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates..
Кими Чиу
18
это худшее, что можно сделать; игнорирование проблемы не является «решением».
Мартин Цайтлер,
31

Убедитесь, что ваши сервисы Google play и Firebase зависимы от последней версии.

Также проверьте все ваши файлы Gradle, уровень модуля и уровень проекта, должна быть только одна общая версия зависимости для всех модулей. Может быть решена путем сохранения этих версий в переменной Gradle уровня проекта.

Проверьте здесь для обновления версии сервисов Google Play

Сервисы Google Play Последние

Проверьте здесь для обновленной версии Firebase

Firebase Последний

Проверьте здесь для Firebase обновленной версии для Android

Firebase Android Последний

abitcode
источник
это было полезно. Использовал реактив-нативный и пришлось обновить пакеты, которые мы использовали, до последних в этих ссылках.
publicknowledge
Это может произойти, даже если вы зависите только от одной библиотеки Google! Смотрите мой ответ на вопрос, почему (очень старый плагин Android Gradle).
NateS
13

Я обновил

implementation 'com.google.android.gms:play-services-analytics:16.0.3'

и это работает для меня

Амин Мхамед
источник
1
Спасибо. Я сделал то же самое, это работает очень хорошо.
Нгуен Ань Тун
1
где мне нужно поставить эту строку?
Anand_5050
в android / app / build.gradle @ Anand_5050
Свати
9

изменение моего build.gradleна следующее работало для меня:

ext {
  googlePlayServicesVersion   = "15.0.1"
}

allprojects {
  repositories {
      mavenLocal()
      maven { url 'http://maven.google.com' }
      jcenter { url "http://jcenter.bintray.com/" }
      google()
      maven {
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
      }

      configurations.all {
        resolutionStrategy {
            force "com.google.android.gms:play-services-basement:$googlePlayServicesVersion"
            force "com.google.android.gms:play-services-tasks:$googlePlayServicesVersion"
        }
      }
  }
}
mk7danny
источник
спасибо, это было полезно для меня и решило мою ошибку. по крайней мере, дал мне указание для следующих ошибок, которые я поместил в том же разрешении.
датский
Чтобы уточнить, это добавляет ext {...}блок, чтобы заставить версию, которая решает проблему
Аарон
7

В моем случае использование последних версий следующих проблем dependenciesрешило мою проблему:

'com.google.android.gms:play-services-analytics:16.0.1'
'com.google.android.gms:play-services-tagmanager:16.0.1'
Мурат
источник
5

Это может произойти, если ваш плагин Android Gradle очень старый, даже если вы используете только одну библиотеку Google! Видимо все библиотеки Google раньше должны были быть точно такой же версии. Теперь они не должны быть такими же, только последние. Когда указывается даже одна библиотека, она вытягивает зависимости, где версии не совпадают, а старый плагин Android Gradle рвет.

Установите более новую версию, например:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
    }
}

Вам может потребоваться обновить Gradle, чтобы использовать более новый плагин (он сообщит вам).

ягодицы
источник
3

Единственное решение, которое работает для меня (найдено где-то в SOF) (нет ссылки):

в топе основной build.grale

allprojects {

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.google.android.gms'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "x.y.z"
            }
        }
    }
}
issamux
источник
3
теперь я получаю другую ошибкуThe library com.google.firebase:firebase-analytics is being requested by various other libraries at [[16.0.3,16.0.3]], but resolves to 16.0.1. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
Эрик Ким
3

Добавить в список ваших зависимостей. Теперь нужно иметь его для правильной работы всех зависимостей firebase:

implementation 'com.google.firebase:firebase-core:16.0.1'
PavelGP
источник
3

У меня была такая же проблема

Просто убедитесь, что у вас есть последние версии всех зависимостей. Я использовал текущие версии для ядра Firebase и аутентификации. В новых версиях исправлены ошибки.

Вы можете получить последние версии здесь: https://firebase.google.com/support/release-notes/android

Использование последней версии на текущий момент времени:

в app / build.gradle:

dependencies {
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-auth:16.1.0'
}
shellym
источник
3

Подобная проблема возникла у меня, когда я попытался добавить базу данных Firebase в свой проект.

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.3'

Проблема может быть решена путем понижения или обновления обеих версий до аналогичного уровня. Поэтому я понизил базу данных Firebase до

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'

и это сработало! Все доступные версии можно искать на этом сайте: https://mvnrepository.com/

Харшит Агарволл
источник
1
Работал для меня после поиска много статей. Ошибка при добавлении базы данных Firebase. Спасибо
gauravsngarg
2

Вы можете найти библиотеку, использующую эту зависимость, используя:

$ ./gradlew app:dependencies
Нико
источник
3
Это не работает, просто выдает ту же ошибку без графа зависимостей.
Джейсон Хаджгинс
3
вам нужно удалить плагин применения: строка 'com.google.gms.google-services', прежде чем пытаться это сделать, чтобы избежать появления ошибки
Kata Lune
1
Я отключил плагин и проверил зависимости. Но не было ни одной библиотеки, которая имела бы зависимость от 15.0.4, как указано в исключенииThe library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[15.0.4,15.0.4], [16.0.0,16.0.0]], but resolves to 16.0.0.
miszmaniac
1
@miszmaniac У меня была точно такая же проблема. Понижение play-services-analyticsи firebase-coreдля 16.0.0решения проблемы.
NoHarmDan
Эта новая система неравных версий для библиотеки Firebase - трагедия. Вчера у нас произошел случайный сбой при запуске приложения, потому что firebase не смог вызвать init () по какой-то странной причине ... нам пришлось отключить (в манифесте) firebase-perf, чтобы можно было удалить crash
miszmaniac
2

У меня была ошибка The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.0.2,16.0.2]], but resolves to 16.0.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

Запуск ./gradlew :app:dependenciesпокажет, какие зависимости требуют неправильных (те, что в квадратных скобках). Для меня проблема исходила от firebase-core: 16.0.3, как показано ниже. Я исправил это путем понижения firebase-core до 16.0.1

+--- com.google.firebase:firebase-core:16.0.3
|    +--- com.google.firebase:firebase-analytics:16.0.3
|    |    +--- com.google.android.gms:play-services-basement:15.0.1
|    |    |    \--- com.android.support:support-v4:26.1.0 (*)
|    |    +--- com.google.android.gms:play-services-measurement-api:[16.0.1] -> 16.0.1
|    |    |    +--- com.google.android.gms:play-services-ads-identifier:15.0.1
|    |    |    |    \--- com.google.android.gms:play-services-basement:[15.0.1,16.0.0) -> 15.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-basement:15.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.2] -> 16.0.2
Эрик Ким
источник
2

Для меня эта ошибка появилась после интеграции Crashlytics через Firebase, из-за конфликта версий между

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.android.gms:play-services-location:15.0.1'

Сначала я попробовал понизить версию Firebase Core до 15.0.1, но, похоже, такой версии нет, только 15.0.0и 15.0.2! Вместо этого мне пришлось понизить оба до версии 15.0.0, поэтому я в конечном итоге

implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.android.gms:play-services-location:15.0.0'

Так что теперь это работает, но я получаю эти раздражающие предупреждения Lint о доступности новых версий. Этот разгром версий - чертовски беспорядок.

Магнус W
источник
1

Я столкнулся с этой проблемой и заметил, что в примечаниях к выпуску упоминается:

Firebase теперь требует, чтобы в файле gradle приложения явно указывалось com.google.firebase: firebase-core как зависимость для служб Firebase, чтобы они работали должным образом.

Создание firebase-coreзависимости приложения (а также зависимости библиотеки) решило эту проблему для меня.

Тэд
источник
1

1. Откройте уровень проекта build.gradle

Обновите com.google.gms:google-servicesверсию до последней. Следите за последним выпуском . На момент ответа последний есть 4.1.0.

2. Откройте уровень приложения build.gradle

Обновите ниже зависимости, если вы используете любой. Обратите внимание, что сейчас у firebase есть отдельные версии для каждой зависимости.

Используйте последние библиотеки Firebase . На момент ответа последние версии находятся ниже.

Firebase Core                com.google.firebase:firebase-core:16.0.3
Ads                          com.google.firebase:firebase-ads:15.0.1
Analytics                    com.google.firebase:firebase-analytics:16.0.3
App Indexing                 com.google.firebase:firebase-appindexing:16.0.1
Authentication               com.google.firebase:firebase-auth:16.0.3
Cloud Firestore              com.google.firebase:firebase-firestore:17.1.0
Cloud Functions              com.google.firebase:firebase-functions:16.1.0
Cloud Messaging              com.google.firebase:firebase-messaging:17.3.2
Cloud Storage   c            om.google.firebase:firebase-storage:16.0.2
Crash Reporting              com.google.firebase:firebase-crash:16.2.0
Crashlytics                  com.crashlytics.sdk.android:crashlytics:2.9.5
Dynamic Links                com.google.firebase:firebase-dynamic-links:16.1.1
Invites                      com.google.firebase:firebase-invites:16.0.3
In-App Messaging             com.google.firebase:firebase-inappmessaging:17.0.1
In-App Messaging Display     com.google.firebase:firebase-inappmessaging-display:17.0.1
ML Kit: Model Interpreter    com.google.firebase:firebase-ml-model-interpreter:16.2.0
ML Kit: Vision               com.google.firebase:firebase-ml-vision:17.0.0
ML Kit: Image Labeling       com.google.firebase:firebase-ml-vision-image-label-model:15.0.0
Performance Monitoring       com.google.firebase:firebase-perf:16.1.0
Realtime Database            com.google.firebase:firebase-database:16.0.2
Remote Config                com.google.firebase:firebase-config:16.0.0

Синхронизировать и построить ...

Khemraj
источник
1

Я заметил, что в журналах отладки упоминается старая версия firebase-analytics (16.0.0). Явное добавление последней версии решило проблему:

implementation "com.google.firebase:firebase-analytics:16.0.3"
Смок
источник
1

Обновите все ваши зависимости до последней версии, и это решит проблему.

Не нужно добавлять
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Это приведет к сбоям, если вы используете смешанные версии.

RakeshGupta
источник
1

Я предполагаю, что следующая ошибка вызвана различными версиями Firebase-зависимостей. Для меня изменение версии всех зависимостей, которые я реализую в моем проекте, до 16.0.1, работало как прелесть.

Для меня ошибка была создана строкой: com.google.firebase:firebase-auth:16.0.2

И я изменил это на: com.google.firebase:firebase-auth:16.0.1

И это сработало. Надеюсь, это поможет.

Випин Джордж
источник
1

В моем случае это решает проблему:

implementation 'com.google.android.gms:play-services-analytics:16.0.1'
Кишоре Редди
источник
1

В моем случае я заменил мой файл build.gradle этой строкой

implementation 'com.google.firebase:firebase-core:16.0.8'

с участием

implementation 'com.google.firebase:firebase-core:15.0.0' 

и добавил эту строку

implementation 'com.google.android.gms:play-services-location:15.0.0'

Теперь это хорошо

Мадду Сваруп
источник
1

У меня есть похожая проблема, которая решена с помощью:

  1. В уровне приложения Gradle: Обновление всех зависимостей firebase до последней версии последней
  2. На уровне проекта gradle: обновите зависимость до последней:, gms.google-servicesв моем случае это было: 'com.google.gms: google-services: 4.2.0'
tabebqena
источник
В этом и заключается магия. Все зависимости в файле app / build.gradle, а затем в самом верхнем файле build.gradle обновляют все зависимости
leeCoder,
1

Я изменил следующие зависимости в моем проекте, чтобы он работал.

build.gradle (приложение):

implementation 'com.google.firebase:firebase-core:16.0.1'

в

implementation 'com.google.firebase:firebase-core:16.0.8'

build.gradle (приложение):

classpath 'com.google.gms:google-services:4.0.1'

в

classpath 'com.google.gms:google-services:4.2.0'

**** Примечание :

Используйте следующую ссылку для обновленного использования библиотек, которые имеют зависимости https://firebase.google.com/docs/android/setup

Мухаммед Али
источник
1

Используйте обновленную версию Firebase и избегайте дополнений. Этого достаточно (но если вам нужно использовать место для хранения или .. вы должны добавить их тоже)

//FIREBASE
implementation 'com.google.firebase:firebase-core:17.2.0'
 implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
//ADMob
implementation 'com.google.android.gms:play-services-ads:18.2.0'
//PUSH NOTIFICATION
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-core:17.2.0'

и обновите гугл-сервисы:

 classpath 'com.google.gms:google-services:4.3.2'
сана эбади
источник
Спасибо, с помощью этих версий моя проблема решена.
ШриТея Чилакамарри
0

Если сообщение:

Библиотека com.google.android.gms: база измерения play-services-запрашивается различными другими библиотеками по адресу [[15.0.4,15.0.4]], но разрешается до 15.0.2 . Отключите плагин и проверьте дерево зависимостей, используя ./gradlew: app: dependencies.

Измените версию всех библиотек сервисов воспроизведения, которые вы используете, на ту, которая вам нужна ( в данном случае 15.0.2 ), может решить проблему.

В моем случае я изменился:

implementation 'com.google.android.gms:play-services-base:+' -> implementation 'com.google.android.gms:play-services-base:15.0.2'
implementation 'com.google.android.gms:play-services-location:+' -> implementation 'com.google.android.gms:play-services-location:15.0.2'
implementation 'com.google.android.gms:play-services-maps:+' -> implementation 'com.google.android.gms:play-services-maps:15.0.2'
implementation 'com.google.android.gms:play-services-auth:+' -> implementation 'com.google.android.gms:play-services-auth:15.0.2'
implementation 'com.google.android.gms:play-services-places:+' -> implementation 'com.google.android.gms:play-services-places:15.0.2'
Хосе Кью
источник
0

Решено здесь: я тоже столкнулся с той же проблемой при попытке добавить crashlytics в firebase. Пожалуйста , обновите последнюю версию зависимостей для com.google.android.gms: стыковые услуг и com.google.firebase: ...... . Это автоматически решит проблемы

Прия Раджан
источник
0

У меня была такая же проблема, когда я пытался добавить реализацию базы данных firebase, если я прокомментировал эту строку, она работает, поэтому после нескольких попыток я перешел на https://firebase.google.com/docs/android/setup.

Там я проверил версии доступных библиотек, и мое ядро ​​firebase было на 16.0.1 (текущая версия 16.0.4), поэтому я вручную изменил его, и он работал нормально, сборка и синхронизация были успешными.

Анибал
источник
0

В моем случае я просто удаляю

implementation "com.google.android.gms:play-services-ads:16.0.0

и добавьте зависимости объявлений Firebase

implementation 'com.google.firebase:firebase-ads:17.1.2'
code4rox
источник
0

Была такая же проблема. Вы должны удалить двоеточие: после версии в Gradle (это ошибка).

Эти настройки работали для меня:

implementation 'com.google.firebase:firebase-firestore:17.1.5'

Также установите для multiDexEnabled значение true в gradle (если вы получили ошибку DexOverflowException):

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }
живи любя
источник