Не удалось выполнить синхронизацию проекта Gradle после того, как Google объявила о новой системе управления версиями sdk

Я получаю следующую ошибку:

Cannot change dependencies of configuration ':app:api' after it has been included in dependency resolution. 

Обновлено: я могу построить с помощью com.google.gms:google-services:3.3.0 когда привязка данных отключена, но это не решение для тех, кому требуется привязка данных.

После того, как Google объявила о новой системе управления версиями sdk ( link ), я сделал следующие шаги:

  1. Я обновил файлы gradleиента, как указано, чтобы включить номера версий gms и firebase отдельно. Обновлена ​​строка плагина apply, обновлена ​​classpath. Я все еще получаю ошибку и не знаю причину.

  2. Ниже приведены соответствующие файлы gradleиента:

build.gradle (main):

 buildscript { repositories { google() jcenter() maven { url 'https://dl.bintray.com/rvalerio/maven' } maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath 'com.google.gms:google-services:3.3.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'io.realm:realm-gradle-plugin:4.3.3' classpath 'io.fabric.tools:gradle:1.25.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } maven { url 'https://maven.google.com' } } } 

build.gradle (Module: app)

 apply plugin: 'com.google.gms.google-services' 

Зависимости от Firebase:

 //Firebase Dependencies implementation "com.google.firebase:firebase-messaging:15.0.2" implementation "com.google.firebase:firebase-core:15.0.2" implementation "com.google.firebase:firebase-config:15.0.2" implementation('com.crashlytics.sdk.android:crashlytics:[email protected]') { transitive = true } 

GMS и другие зависимости

 implementation "com.android.support:recyclerview-v7:27.1.1" implementation "com.android.support:support-v4:27.1.1" implementation "com.android.support:cardview-v7:27.1.1" implementation "com.android.support:design:27.1.1" implementation "com.android.support:support-v13:27.1.1" implementation "com.android.support.constraint:constraint-layout:1.1.0" implementation "com.google.android.gms:play-services-location:15.0.1" implementation "com.google.android.gms:play-services-vision:15.0.1" implementation "com.google.android.gms:play-services-auth:15.0.1" implementation "com.google.android.gms:play-services-maps:15.0.1" 
  1. Я вставил журнал ошибок на pastebin из студии Android 3.2.1 здесь .

Любая помощь приветствуется!

    удалось создать против Play Services & Firebase 15.0.0 с включенной привязкой данных … мои зависимости теперь выглядят примерно так, и они снова строятся, без каких-либо Cannot change dependencies of configuration жалоб Cannot change dependencies of configuration :

     buildscript { dependencies { classpath "com.android.tools.build:gradle:3.1.2" // do not update, because 3.3.1 appears broken // classpath "com.google.gms:google-services:3.2.1" // meanwhile, there is version 4.0.2 available classpath "com.google.gms:google-services:4.0.2" } } 

    нужно ссылаться на все библиотеки по отдельности. просто ссылаясь на com.google.android.gms:play‐services и / или com.google.firebase:firebase-core больше не работает с 15.0.0 .

     android { dependencies { // Play Services 15.0.0 implementation "com.google.android.gms:play-services-base:15.0.1" implementation "com.google.android.gms:play-services-auth:15.0.1" implementation "com.google.android.gms:play-services-identity:15.0.1" // Firebase 15.0.0 implementation "com.google.firebase:firebase-core:15.0.2" implementation "com.google.firebase:firebase-database:15.0.1" implementation "com.google.firebase:firebase-firestore:16.0.0" implementation "com.google.firebase:firebase-storage:15.0.2" implementation "com.google.firebase:firebase-crash:15.0.2" implementation "com.google.firebase:firebase-auth:15.1.0" implementation "com.google.firebase:firebase-messaging:15.0.2" implementation "com.google.firebase:firebase-config:15.0.2" implementation "com.google.firebase:firebase-invites:15.0.1" implementation "com.google.firebase:firebase-ads:15.0.1" implementation "com.google.firebase:firebase-appindexing:15.0.1" implementation "com.google.firebase:firebase-perf:15.2.0" implementation "com.google.firebase:firebase-functions:15.0.0" } } apply plugin: 'com.google.gms.google-services' 

    также пришлось отредактировать Manifest.xml чтобы исправить библиотеку поддержки:

        

    Сообщается о проблеме с привязкой данных и версии плагина google-services версии 3.3.0 : https://issuetracker.google.com/issues/79122163

    На сегодняшний день ошибка находится в «назначенном» состоянии.

    ОБНОВЛЕНИЕ Я мог бы скомпилировать

     dataBinding.enabled false 

    В конфигурации Android и версии 3.3.0

    ОРИГИНАЛ

    Такая же проблема здесь с google-services: 3.3.0, которая является последней версией, но в соответствии с документами версии 3.2.1 следует использовать. Я смог скомпилировать следующие

      ext { kotlin_version = '1.2.41' firebaseCore = '15.0.2' authentication = '15.1.0' cloudFirestore = '16.0.0' cloudStorage = '15.0.2' crashlitics = '2.9.1' googleServices = '15.0.0' supportLibrary = '27.1.1' facebookSdkVersion = '4.31.0' twitterSdkVersion = '3.1.1' firebaseUI = '3.3.1' } dependencies { classpath 'com.android.tools.build:gradle:3.2.0-alpha12' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:3.2.1' } 

    Эта проблема, похоже, была решена с помощью новой версии google-services (4.0.1 на сегодняшний день). Ниже приведены соответствующие версии, которые разрешат указанную проблему:

    В вашем проекте build.gradle файлы:

     dependencies { classpath 'com.android.tools.build:gradle:3.1.3' classpath 'com.google.gms:google-services:4.0.1' } 

    В файлах приложения build.gradle:

     //Firebase Dependencies implementation "com.google.firebase:firebase-messaging:17.0.0" implementation "com.google.firebase:firebase-core:16.0.0" implementation "com.google.firebase:firebase-config:16.0.0" implementation 'com.google.firebase:firebase-perf:16.0.0' ...} apply plugin: "com.google.gms.google-services" 

    Значение привязки равно true:

     dataBinding { enabled = true } 

    Версия Android Studio: 3.1.2

    Благодарим вас за предоставление различных способов решения проблемы, например, ответ на вопрос @Kyle и ссылку на сообщение средней ссылки, в которой показано, как использовать firebase без сервисов google.

    Хотя это не отличное решение, я следил за рекомендацией Googler, упомянутой в трекерах об ошибках.

    я использую

     com.google.gms:google-services:3.3.1 

    Я включил привязку данных

     `dataBinding.enabled true` 

    Я удалил ссылку плагина из сценария приложения gradle

     //apply plugin: 'com.google.gms.google-services' 

    И следовали рекомендациям этой средней должности, чтобы включить все необходимые значения строки службы Google.

    https://medium.com/@samstern_58566/how-to-use-firebase-on-android-without-the-google-services-plugin-93ecc7dc6c4

    Мое приложение успешно работает, и все работает так, как ожидалось.

    Все работало после того, как я добавил google () maven внутри блока allProjects в моем проекте build.gradle следующим образом:

     buildscript { repositories { jcenter() mavenCentral() } dependencies { ... } } repositories { ... } // You need to add the google maven in this block. allprojects { repositories { jcenter() google() } } 

    Просто снижайте зависимость ваших сервисов GooglePlay до 3.2.1 🙂

     classpath 'com.google.gms:google-services:3.2.1' 
    Давайте будем гением компьютера.