Ситуация
Сегодня, после того, как ничего не коснулся проекта, мой крикнул на меня и не собирался компилировать проект.Не удалось разрешить firebase-iid
, firebase-common
, play-services-analytics-impl
, play-services-auth-api-phone
и play-services-auth-base
.Так что после выходных совсем беспорядок.
Итак, я проверил версии различных API и обновил те, которые требовали обновления, обнаружил, что Google добавил обязательную зависимость к firebase-core
, добавил ее, затем обновил мой плагин google-services
идаже добавил play-services-base
зависимость.Я также обновил firebase-messaging
до версии 17.0.0 и crashlytics
до версии 2.9.3.
Но, тем не менее, сборка не компилируется с этим сообщением об ошибке:
Библиотека com.google.android.gms: база измерений play-services-запрашивается различными другими библиотеками по адресу [[15.0.2,15.0.2], [15.0.4,15.0.4]], норазрешает до 15.0.4.Отключите плагин и проверьте дерево зависимостей, используя ./gradlew: app: dependencies.
Файлы Gradle
Вот мой файл Gradle (показывает только часть зависимостей), после моих попыток исправить:
apply plugin: 'com.android.application'
...
dependencies {
implementation project(':library')
implementation project(':otherlibrary')
implementation 'com.android.volley:volley:1.1.0'
implementation('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
implementation 'org.apache.httpcomponents:httpclient-android:4.3.5'
implementation 'com.google.android.gms:play-services-base:15.0.1'
implementation 'com.google.android.gms:play-services-analytics:15.0.2'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation('com.google.android.gms:play-services-ads:15.0.1') {
exclude group: 'com.android.support', module: 'customtabs'
}
implementation 'com.google.android.gms:play-services-identity:15.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.google.android.gms:play-services-drive:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.0'
implementation 'com.google.firebase:firebase-messaging:17.0.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.daimajia.slider:library:1.1.5@aar'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:mediarouter-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:exifinterface:27.1.1'
implementation 'com.android.support:support-v13:27.1.1'
// https://mvnrepository.com/artifact/com.darwinsys/hirondelle-date4j
implementation group: 'com.darwinsys', name: 'hirondelle-date4j', version: '1.5.1'
// For RxAndroid and RxJava
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
// (see https://github.com/ReactiveX/RxJava/releases for latest 2.x.x version)
implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
// Crashlytics
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
// CSV with outputstream writer
implementation 'com.opencsv:opencsv:4.1'
// Gson
implementation 'com.google.code.gson:gson:2.8.5'
debugImplementation 'com.android.support.test:runner:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
androidTestImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
И в моем проекте Gradle содержатся следующие строки:
...
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
...
}
dependencies {
...
classpath 'com.google.gms:google-services:4.0.1'
}
...
Официальное решение не работает
Я уже пытался исправить номер версиинесколько библиотек в соответствии с официальной документацией Firebase , которая более или менее совпадает с этим вопросом .
Как вы можете прочитать в официальной ссылке на документацию, по состоянию на 2 мая,В 2018 году они предложили способ решения этой проблемы, но номера рассматриваемых версий не совпадают, и я уже пробовал данное исправление (с некоторыми понижениями), но безрезультатно.
Официальная документация: Если ваше приложение зависит от com.google.firebase: firebase-core: 15.0.0, а также любой из следующих библиотек:
com.google.android.gms:play-services-analytics
com.google.android.gms:play-services-appinvite
com.google.android.gms:play-services-tagmanager
com.google.firebase:firebase-analytics
com.google.firebase:firebase-crash
com.google.firebase:firebase-dynamic-links
com.google.firebase:firebase-messaging
Вам нужно будетpdate версия последней зависимости 15.0.2.Это устраняет проблему, из-за которой сообщается версия 3.3.0 подключаемого модуля Google Services Gradle: библиотека com.google.android.gms: play-services-measure-base запрашивается различными другими библиотеками по адресу [[15.0.0,15.0.0], [15.0.2,15.0.2]], но разрешается в 15.0.2 ...
Итак, как мне разрешить эти конфликты версий, чтобы моя сборка моглаправильно скомпилировать?