В проекте "приложение" разрешенная зависимость библиотеки сервисов 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 вещи:

  1. Где находится конфликтующая зависимость?
  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 зависит от другой в точной версии.." и позже я понял, что это потому, что только я строил офлайн: странное поведение, я думаю, это своего рода ошибка! Так что для тех, кто получает такую ошибку, пожалуйста, проверьте, что вы не в автономном режиме при создании приложения