com.google.android.gms: Play-Services-Messbasis wird von verschiedenen anderen Bibliotheken angefordert

173

Ich habe auf Gradle 4.0.1 aktualisiert und den folgenden Fehler erhalten

Die Bibliothek com.google.android.gms: Play-Services-Measurement-Base wird von verschiedenen anderen Bibliotheken unter [[15.0.4,15.0.4]] angefordert, jedoch in 15.0.2 aufgelöst. Deaktivieren Sie das Plugin und überprüfen Sie Ihren Abhängigkeitsbaum mit ./gradlew: app: dependencies.

Mein Projekt verwendet diese Abhängigkeit nicht, daher habe ich global danach gesucht und sie wird nur im Inneren angezeigt

build / intermediates / lint-cache / maven.google / com / google / android / gms / group-index.xml

als diese Zeile

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

Also habe ich versucht, meinen Build-Ordner zu löschen und das Projekt zu bereinigen, aber es wird mit denselben Werten neu generiert: / Daher bleibt der Fehler weiterhin bestehen

Ilja
quelle
Hier behoben : Auch ich hatte das gleiche Problem, als ich versuchte, Crashlytics in Firebase hinzuzufügen. Bitte aktualisieren Sie die neueste Version von Abhängigkeiten für com.google.android.gms: Play-Dienste und com.google.firebase: ...... . Es wird automatisch die Probleme gelöst
Priya Rajan
Ich hatte die neueste Version und bekam diesen Fehler so auf 15.0.1 heruntergestuft und es hat funktioniert!
Landrykapela
Bitte gehen Sie zu dieser Ausgabe und markieren Sie sie. Es scheint, dass es viele Probleme gibt, da viele Bibliotheken nicht in jCenter veröffentlicht wurden.
Patricio Sard

Antworten:

173

Das eigentliche Problem wird im Versionshinweis vom 23. Mai unter https://developers.google.com/android/guides/releases#may_23_2018 erläutert

Grundsätzlich müssen Sie alle Play Services- und Firebase- Bibliotheken auf die neueste Version bringen ( die seit Version 15 für jede Version unterschiedlich sein kann ). Sie können https://mvnrepository.com/ verwenden , um die neueste Version für jede Bibliothek zu finden.

Siehe auch: https://firebase.google.com/support/release-notes/android#20180523

Nico
quelle
5
maven.google.com eignet sich auch zum Nachschlagen der freigegebenen Versionen dieser Bibliotheken.
PaulR
52
Lebensretter. Google sollte diese Versionierung optimieren. Es ist ein Schmerz
Dibzmania
1
Ihre Antwort hat mir geholfen, das herauszufinden. Aber ich musste diesen Beitrag verwenden, um tatsächlich die richtigen Versionen in mein Projekt aufzunehmen und die Fehler zu überwinden.
Jacob Joel
12
Ich habe die neueste Version aller Bibliotheken verwendet, aber der Fehler bleibt bestehen.
Student
2
Wenn Sie alle Bibliotheken auf die jeweils neuesten Versionen aktualisieren, wird die Warnung "Alle gms / firebase-Bibliotheken müssen genau dieselbe Versionsspezifikation verwenden (das Mischen von Versionen kann zu Laufzeitabstürzen führen) angezeigt." Wird das erwartet? Wie beheben Sie dies auch als das ursprüngliche Problem?
user3369427
86

einzige funktionierende Lösung für mich:

Legen Sie es auf die Unterseite von build.gradle

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
htw
quelle
10
Für mich verbirgt diese Lösung die Nachricht, die dann auf andere Weise ausgelöst wird: "Android-Abhängigkeit 'com.google.android.gms: Play-Services-Messbasis' hat unterschiedliche Versionen für die Kompilierung (15.0.4) und Laufzeit ( 16.0.0) Klassenpfad. Sie sollten dieselbe Version manuell über DependencyResolution
festlegen
Es ist die einzige Lösung, die für mich funktioniert hat. Auch mit allen aktuellen Gradle-Bibliotheken.
Neri
Es funktioniert, aber verwenden Sie es als letzten Ausweg. Ich habe alle Google Play- und Firebase-Versionen synchronisiert, aber eine Bibliothek hat sich geweigert, diese Version zu akzeptieren (es war fest codiert, nur eine bestimmte Version zu benötigen).
pmont
Hier ist ein Witz Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates..
Kimi Chiu
18
das ist das Schlimmste, was man tun kann; Das Problem zu ignorieren ist keine "Lösung".
Martin Zeitler
31

Stellen Sie sicher, dass Ihre Google Play Services-Abhängigkeiten und Firebase-Abhängigkeiten auf der neuesten Version bleiben.

Überprüfen Sie auch alle Ihre Gradle-Dateien, Modulebene und Projektebene. Es muss nur eine gemeinsame Version der Abhängigkeit für alle Module geben. Kann gelöst werden, indem diese Versionen in der Gradle-Variable auf Projektebene gehalten werden.

Suchen Sie hier nach der Update-Version für Google Play Services

Google Play Services Neueste

Hier finden Sie die aktualisierte Version von Firebase

Firebase Neueste

Hier finden Sie die aktualisierte Firebase-Version für Android

Firebase Android Neueste

Abitcode
quelle
das war nützlich. Verwenden von react-native und mussten die Pakete, die wir verwendeten, auf den neuesten Stand dieser Links aktualisieren.
publicknowledge
Dies kann auch dann passieren, wenn Sie nur von einer einzigen Google-Bibliothek abhängig sind! Siehe meine Antwort für warum (sehr altes Android Gradle Plugin).
NateS
13

Ich habe aktualisiert

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

und es funktioniert bei mir

Amine M'hamed
quelle
1
Danke dir. Ich habe das Gleiche getan, es funktioniert sehr gut.
Nguyễn Anh Tuấn
1
Wo muss ich diese Zeile setzen?
Anand_5050
in android / app / build.gradle @ Anand_5050
Swati
9

Das Ändern meiner build.gradleauf die folgenden hat für mich funktioniert:

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
quelle
Danke, es war hilfreich für mich und hat meinen Fehler behoben. atleast gab mir die Richtung für die nächsten Fehler, die ich sie in die gleiche Auflösung legte. Strategie
Dänisch
Zur Verdeutlichung wird der ext {...}Block hinzugefügt , um die Version zu erzwingen, die das Problem behebt
Aaron,
7

In meinem Fall hat die Verwendung der neuesten Versionen von Folgendem dependenciesmein Problem gelöst:

'com.google.android.gms:play-services-analytics:16.0.1'
'com.google.android.gms:play-services-tagmanager:16.0.1'
Murat
quelle
5

Dies kann passieren, wenn Ihr Android Gradle-Plugin sehr alt ist, auch wenn Sie nur eine einzige Google-Bibliothek verwenden! Anscheinend mussten alle Google-Bibliotheken genau dieselbe Version haben. Jetzt müssen sie nicht mehr gleich sein, sondern nur noch die neuesten. Wenn auch nur eine einzige Bibliothek angegeben wird, werden Abhängigkeiten berücksichtigt, bei denen die Versionen nicht übereinstimmen und das alte Android Gradle-Plugin kotzt.

Stellen Sie eine neuere Version wie folgt ein:

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

Möglicherweise müssen Sie Ihren Gradle aktualisieren, um das neuere Plugin zu verwenden (es wird Ihnen sagen).

NateS
quelle
3

Die einzige Lösung, die für mich funktioniert (ich habe einige in SOF gefunden) (habe keinen Link), ist:

in der obersten Hauptgruppe 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
quelle
3
Jetzt bekomme ich einen anderen FehlerThe 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.
Eric Kim
3

Zur Liste Ihrer Abhängigkeiten hinzufügen. Jetzt muss es für die ordnungsgemäße Arbeit aller Firebase-Abhängigkeiten vorhanden sein:

implementation 'com.google.firebase:firebase-core:16.0.1'
PavelGP
quelle
3

Ich hatte das gleiche Problem

Stellen Sie einfach sicher, dass Sie über die neuesten Versionen aller Abhängigkeiten verfügen . Ich habe die aktuellen Versionen für Firebase Core und Auth verwendet. Die neueren Versionen haben Fehlerbehebungen.

Die neuesten Versionen erhalten Sie hier: https://firebase.google.com/support/release-notes/android

Verwenden der neuesten Version zum aktuellen Zeitpunkt:

in app / build.gradle:

dependencies {
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-auth:16.1.0'
}
Shellym
quelle
3

Ein ähnliches Problem trat bei mir auf, als ich versuchte, meinem Projekt eine Firebase-Datenbank hinzuzufügen.

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

Das Problem kann behoben werden, indem beide Versionen auf ein ähnliches Niveau heruntergestuft oder aktualisiert werden. Also habe ich die Firebase-Datenbank auf heruntergestuft

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

und es hat funktioniert! Alle verfügbaren Versionen können auf dieser Website durchsucht werden: https://mvnrepository.com/

Harshit Agarwall
quelle
1
Arbeitete für mich, nachdem ich viele Artikel durchsucht hatte. Beim Hinzufügen der Firebase-Datenbank ist ein Fehler aufgetreten. Vielen Dank
Gauravsngarg
2

Sie können die Bibliothek finden, die diese Abhängigkeit zieht, indem Sie:

$ ./gradlew app:dependencies
Nico
quelle
3
Dies funktioniert nicht, es spuckt nur den gleichen Fehler ohne Abhängigkeitsdiagramm aus.
Jasonhudgins
3
Sie müssen das Plugin "com.google.gms.google-services" entfernen, bevor Sie dies versuchen, um Fehler zu vermeiden
Kata Lune
1
Ich habe das Plugin deaktiviert und Abhängigkeiten überprüft. Aber es gab keine Bibliothek, die eine Abhängigkeit von 15.0.4 hatte, wie in Ausnahme angegebenThe 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 Ich hatte genau das gleiche Problem. Herabstufung beide play-services-analyticsund firebase-coreauf 16.0.0das Problem gelöst.
NoHarmDan
Dieses neue System ungleicher Versionen für die Firebase-Bibliothek ist vorerst eine Tragödie. Gestern hatten wir einen zufälligen Absturz beim Start der App, weil Firebase aus irgendeinem Grund nicht in der Lage war, init () zu
initiieren
2

Ich hatte einen Fehler 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.

Beim Ausführen ./gradlew :app:dependencieswird angezeigt, für welche Abhängigkeiten falsche Abhängigkeiten erforderlich sind (die in der eckigen Klammer). Für mich kam das Problem vom Firebase-Core: 16.0.3 wie unten gezeigt. Ich habe es behoben, indem ich den Firebase-Core auf 16.0.1 heruntergestuft habe

+--- 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
Eric Kim
quelle
2

Für mich trat dieser Fehler nach der Integration von Crashlytics über Firebase aufgrund eines Versionskonflikts zwischen auf

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

Ich habe zuerst versucht, Firebase Core auf herunterzustufen 15.0.1, aber es scheint, dass es keine solche Version gibt, nur 15.0.0und 15.0.2! Stattdessen musste ich beide auf die Version herunterstufen 15.0.0, so dass ich am Ende mit

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

Jetzt funktioniert es also, aber ich bekomme diese nervigen Lint-Warnungen, dass neuere Versionen verfügbar sind. Dieses Versionierungsdebakel ist ein verdammtes Durcheinander.

Magnus W.
quelle
1

Ich bin auf dieses Problem gestoßen und habe festgestellt, dass in den Versionshinweisen Folgendes erwähnt wird:

In Firebase muss die App-Gradle-Datei jetzt explizit com.google.firebase: firebase-core als Abhängigkeit auflisten, damit die Firebase-Dienste wie erwartet funktionieren.

Das Erstellen firebase-coreeiner App-Abhängigkeit (sowie einer Bibliotheksabhängigkeit) hat dieses Problem für mich gelöst.

Bisschen
quelle
1

1. Öffnen Sie build.gradle auf Projektebene

Aktualisieren Sie die com.google.gms:google-servicesVersion auf den neuesten Stand. Verfolgen Sie die neueste Version . Zum Zeitpunkt der Antwort ist spätestens 4.1.0.

2. Öffnen Sie build.gradle auf App-Ebene

Aktualisieren Sie die unten stehende Abhängigkeit, falls Sie eine verwenden. Beachten Sie, dass Firebase jetzt für jede Abhängigkeit individuelle Versionen hat.

Verwenden Sie die neuesten Firebase-Bibliotheken . Zum Zeitpunkt der Antwort sind die neuesten Versionen unten aufgeführt.

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

Synchronisieren und erstellen ...

Khemraj
quelle
1

Ich habe festgestellt, dass in Debug-Protokollen die alte Version von Firebase-Analytics (16.0.0) erwähnt wird. Das explizite Hinzufügen der neuesten Version hat das Problem behoben:

implementation "com.google.firebase:firebase-analytics:16.0.3"
rauchen
quelle
1

Aktualisieren Sie alle Ihre Abhängigkeiten auf die neueste Version, um das Problem zu beheben.

Keine Notwendigkeit hinzuzufügen
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Wenn Sie gemischte Versionen verwenden, kommt es zu Abstürzen.

RakeshGupta
quelle
1

Ich denke, der folgende Fehler wird aufgrund der unterschiedlichen Versionen der Firebase-Abhängigkeiten verursacht. Für mich hat das Ändern der Version aller Abhängigkeiten, die ich in meinem Projekt implementiere, auf 16.0.1 wie ein Zauber funktioniert.

Für mich wurde der Fehler durch die Zeile erstellt: com.google.firebase:firebase-auth:16.0.2

Und ich habe es geändert in: com.google.firebase:firebase-auth:16.0.1

Und es hat funktioniert .. Hoffe das hilft.

Vipin George
quelle
1

In meinem Fall löst dies das Problem:

implementation 'com.google.android.gms:play-services-analytics:16.0.1'
Kishore Reddy
quelle
1

In meinem Fall habe ich meine build.gradle-Datei in dieser Zeile ersetzt

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

mit

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

und fügte diese Zeile hinzu

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

Jetzt ist es gut

Maddu Swaroop
quelle
1

Ich habe ein ähnliches Problem, das behoben wurde durch:

  1. In App - Ebene gradle: Aktualisieren Sie alle Abhängigkeiten Feuerbasis auf die neueste Version neueste
  2. In Projektebene gradle: Aktualisiere die Abhängigkeit auf den neuesten Stand: gms.google-servicesIn meinem Fall war es: 'com.google.gms: google-services: 4.2.0'
tabebqena
quelle
Hier liegt die Magie. Alle Abhängigkeiten in der app / build.gradle und dann in der obersten build.gradle-Datei aktualisieren alle Abhängigkeiten
leeCoder
1

Ich habe die folgenden Abhängigkeiten in meinem Projekt geändert, damit es funktioniert.

build.gradle (App):

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

zu

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

build.gradle (App):

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

zu

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

**** Hinweis :

Verwenden Sie den folgenden Link für die aktualisierte Verwendung von Bibliotheken mit Abhängigkeiten https://firebase.google.com/docs/android/setup

Muhammad Ali
quelle
1

Verwenden Sie die aktualisierte Version von Firebase und vermeiden Sie Extras. Dies ist ausreichend (aber wenn Sie Speicherplatz benötigen oder .. sollten Sie sie auch hinzufügen)

//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'

und aktualisieren Sie die Google-Dienste:

 classpath 'com.google.gms:google-services:4.3.2'
Sana Ebadi
quelle
Vielen Dank, mit diesen Versionen wurde mein Problem gelöst.
SriTeja Chilakamarri
0

Wenn die Nachricht lautet:

Die Bibliothek com.google.android.gms: Play-Services-Measurement-Base wird von verschiedenen anderen Bibliotheken unter [[15.0.4,15.0.4]] angefordert, jedoch in 15.0.2 aufgelöst . Deaktivieren Sie das Plugin und überprüfen Sie Ihren Abhängigkeitsbaum mit ./gradlew: app: dependencies.

Ändern Sie die Version aller von Ihnen verwendeten Play Services-Bibliotheken in die von Ihnen benötigte ( in diesem Fall 15.0.2 ), um das Problem zu beheben.

In meinem Fall habe ich mich geändert:

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'
Jose Q.
quelle
0

Hier behoben : Auch ich hatte das gleiche Problem, als ich versuchte, Crashlytics in Firebase hinzuzufügen. Bitte aktualisieren Sie die neueste Version von Abhängigkeiten für com.google.android.gms: Play-Dienste und com.google.firebase: ...... . Die Probleme werden automatisch behoben

Priya Rajan
quelle
0

Ich hatte das gleiche Problem, als ich versuchte, die Implementierung der Firebase-Datenbank hinzuzufügen. Wenn ich diese Zeile kommentierte, funktioniert sie. Nach einigen Versuchen ging ich zu https://firebase.google.com/docs/android/setup

Dort habe ich die Versionen der verfügbaren Bibliotheken überprüft und mein Firebase-Core war auf 16.0.1 (aktuelle Version ist 16.0.4), also habe ich es manuell geändert und es hat einwandfrei funktioniert, Build und Synchronisierung waren erfolgreich.

Anibal
quelle
0

In meinem Fall entferne ich einfach

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

und fügen Sie Abhängigkeiten für Firebase-Anzeigen hinzu

implementation 'com.google.firebase:firebase-ads:17.1.2'
code4rox
quelle
0

Hatte das gleiche Problem. Sie müssen den Doppelpunkt entfernen: nach der Version im Gradle (es ist ein Fehler).

Diese Einstellungen haben bei mir funktioniert:

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

Setzen Sie außerdem multiDexEnabled im Gradle auf true (wenn Sie den DexOverflowException-Fehler erhalten):

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }
Live-Liebe
quelle