com.google.android.gms: play-services-measure-base è richiesto da varie altre biblioteche


173

Ho aggiornato alla versione 4.0.1 e ho iniziato a ricevere il seguente errore

La libreria com.google.android.gms: play-services-measure-base è richiesta da varie altre librerie su [[15.0.4,15.0.4]], ma si risolve in 15.0.2. Disabilita il plug-in e controlla l'albero delle dipendenze utilizzando ./gradlew: app: dipendenze.

Il mio progetto non usa quella dipendenza, quindi l'ho cercata a livello globale e si presenta solo all'interno

build / intermedi / lint-cache / maven.google / com / google / android / GMS / group-index.xml

come questa linea

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

Quindi ho provato a cancellare la mia cartella di build e a pulire il progetto, ma lo rigenera con gli stessi valori: / quindi l'errore rimane ancora


Risolto qui: anche io ho affrontato lo stesso problema quando provavo ad aggiungere crashlytics nella base di fuoco. Si prega di aggiornare la versione più recente di dipendenze per com.google.android.gms: play-servizi e com.google.firebase: ...... . Risolverà automaticamente i problemi
Priya Rajan,

Avevo l'ultima versione e ho ottenuto questo errore quindi declassato alla 15.0.1 e ha funzionato!
landrykapela,

Per favore, vai a questo numero e ricomincia da capo. Sembra che ci siano molti problemi perché c'erano molte librerie non pubblicate da jCenter.
Patricio Sard,

Risposte:


173

Il problema reale è discusso nella nota di rilascio del 23 maggio di https://developers.google.com/android/guides/releases#may_23_2018

Fondamentalmente, è necessario eseguire il bump di tutte le librerie di Play Services e Firebase alla versione più recente ( che potrebbe essere diversa per ciascuna dalla versione 15 ). È possibile utilizzare https://mvnrepository.com/ per trovare la versione più recente per ciascuna libreria.

Vedi anche: https://firebase.google.com/support/release-notes/android#20180523


5
maven.google.com è anche adatto per cercare le versioni rilasciate di queste librerie.
Paul R

52
Salvavita. Google dovrebbe semplificare questo controllo delle versioni. È un dolore
Dibzmania,

1
La tua risposta mi ha aiutato a capirlo. Ma ho dovuto usare questo post per ottenere effettivamente le versioni corrette incluse nel mio progetto e superare gli errori.
Jacob Joel,

12
Ho usato l'ultima versione di tutte le librerie ma l'errore rimane.
Studente

2
Se aggiorni tutte le librerie alle loro ultime rispettive versioni riceverai un avviso che dice "Tutte le librerie gms / firebase devono usare la stessa specifica di versione (il mix delle versioni può portare a crash del runtime)". È previsto? Come risolvi questo problema e il problema originale?
user3369427

86

unica soluzione funzionante per me:

mettilo sul fondo di build.gradle

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

10
Per me questa soluzione nasconde il messaggio, che viene quindi sollevato in un altro modo: "La dipendenza Android" com.google.android.gms: play-services-measure-base "ha una versione diversa per la compilazione (15.0.4) e il runtime ( 16.0.0) classpath. Dovresti impostare manualmente la stessa versione tramite DependencyResolution "
ARLabs

È l'unica soluzione che ha funzionato per me. Anche con tutte le librerie di livello aggiornate.
Neri,

Funziona, ma usalo come ultima risorsa. Ho sincronizzato tutte le versioni di Google Play e Firebase, ma una libreria ha rifiutato di accettare quella versione (era hardcoded per richiedere una e una sola versione specifica).
pmont,

Ecco uno scherzo, Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates..
Kimi Chiu,

18
questo è il peggiore che si possa fare; ignorare il problema non è una "soluzione".
Martin Zeitler,

31

Assicurati di mantenere le dipendenze dei tuoi servizi Google Play e le dipendenze Firebase all'ultima versione.

Controlla anche tutti i tuoi file di livello, a livello di modulo e a livello di progetto, deve esserci solo una versione comune di dipendenza tra tutti i moduli. Può essere risolto mantenendo tali versioni nella variabile di livello a livello di progetto.

Controlla qui per la versione di aggiornamento dei servizi di Google Play

Servizi Google Play più recenti

Controlla qui per la versione aggiornata di Firebase

Firebase più recente

Controlla qui per la versione aggiornata di Firebase per Android

Firebase Android più recente


questo è stato utile. Usando reattivo-nativo e abbiamo dovuto aggiornare i pacchetti che stavamo usando per ultimo in questi collegamenti.
conoscenza pubblica

Può succedere anche se dipendi da una sola lib di Google! Vedi la mia risposta per il perché (plug-in Android Gradle molto vecchio).
NateS,

13

Ho aggiornato

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

e funziona per me


1
Grazie. Ho fatto la stessa cosa, funziona molto bene.
Nguyễn Anh Tuấn,

1
dove devo mettere questa linea?
Anand_5050,

in android / app / build.gradle @ Anand_5050
Swati

9

cambiando il mio build.gradlecon il seguente ha funzionato per me:

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"
        }
      }
  }
}

grazie, è stato utile per me e ha risolto il mio errore. atleast mi ha dato indicazioni per i prossimi errori che ho messo nella stessa risoluzione
Strategia

Per chiarire, sta aggiungendo il ext {...}blocco per forzare la versione che risolve il problema
Aaron

7

Nel mio caso l'utilizzo delle ultime versioni di seguito ha dependenciesrisolto il mio problema:

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

5

Questo può accadere se il tuo plug-in Android Gradle è molto vecchio, anche se stai utilizzando una sola libreria Google! Apparentemente tutte le librerie Google dovevano essere esattamente la stessa versione. Ora non devono essere gli stessi, solo gli ultimi. Quando si specifica anche una singola libreria, vengono inserite le dipendenze in cui le versioni non corrispondono e si verifica il vecchio plug-in Android Gradle.

Imposta una versione più recente come:

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

Potrebbe essere necessario aggiornare Gradle per utilizzare il plug-in più recente (te lo dirà).


3

L'unica soluzione che funziona per me (ho trovato un po 'dove in SOF) (non ho il link) è:

nella parte superiore build.grale principale

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"
            }
        }
    }
}

3
ora sto ricevendo un errore diversoThe 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

Aggiungi all'elenco delle tue dipendenze. Ora è necessario averlo per il corretto funzionamento di tutte le dipendenze della base di fuoco:

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

3

Ho avuto lo stesso problema

Assicurati solo di avere le ultime versioni di tutte le dipendenze. Ho usato le versioni attuali per Firebase core e auth. Le versioni più recenti hanno correzioni di bug.

Puoi ottenere le ultime versioni da qui: https://firebase.google.com/support/release-notes/android

Utilizzando l'ultima versione al momento attuale:

in app / build.gradle:

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

3

Un problema simile è emerso quando ho provato ad aggiungere il database Firebase al mio progetto.

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

Il problema può essere risolto eseguendo il downgrade o l'aggiornamento di entrambe le versioni a un livello simile. Quindi ho eseguito il downgrade del database Firebase a

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

e ha funzionato! Tutte le versioni disponibili possono essere ricercate su questo sito: https://mvnrepository.com/


1
Ha funzionato per me dopo aver cercato molti articoli. Errore durante l'aggiunta del database firebase. Grazie
gauravsngarg il

2

Puoi trovare la libreria che estrae questa dipendenza usando:

$ ./gradlew app:dependencies

3
Questo non funziona, sputa semplicemente lo stesso errore senza grafico delle dipendenze.
jasonhudgins,

3
devi rimuovere applicare il plug-in: riga "com.google.gms.google-services" prima di provare questo per evitare la visualizzazione dell'errore
Kata Lune,

1
Ho disabilitato il plug-in e verificato le dipendenze. Ma non c'erano biblioteche che dipendevano dalla 15.0.4 come indicato in eccezioneThe 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 Ho avuto lo stesso identico problema. Declassamento sia play-services-analyticse firebase-coreper 16.0.0risolvere il problema.
NoHarmDan,

Questo nuovo sistema di versioni non uguali per la libreria Firebase è una tragedia per ora. Ieri abbiamo avuto un crash casuale all'avvio dell'app, perché firebase non è stato in grado di init () per qualche strana ragione ... abbiamo dovuto disabilitare (in manifest) firebase-perf per essere in grado di rimuovere crash
miszmaniac

2

Ho avuto un errore 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.

L'esecuzione ./gradlew :app:dependenciesrivelerà quali dipendenze richiedono dipendenze errate (quelle nella parentesi quadra). Per me il problema veniva da firebase-core: 16.0.3 come mostrato di seguito. Ho risolto il downgrade di firebase-core a 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

Per me questo errore è apparso dopo l'integrazione di Crashlytics tramite Firebase, a causa di un conflitto di versioni tra

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

Per prima cosa ho provato a eseguire il downgrade di Firebase Core a 15.0.1, ma sembra che non ci sia una versione del genere, solo 15.0.0e 15.0.2! Invece ho dovuto eseguire il downgrade di entrambi alla versione 15.0.0, quindi ho finito con

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

Quindi ora funziona, ma ricevo quei fastidiosi avvisi di Lint sulla disponibilità delle versioni più recenti. Questa debacle del controllo delle versioni è un vero casino.


1

Mi sono imbattuto in questo problema e ho notato che le note di rilascio menzionavano:

Firebase ora richiede che il file gradle dell'app elenchi esplicitamente com.google.firebase: firebase-core come dipendenza per i servizi Firebase per funzionare come previsto.

Fare firebase-coreuna dipendenza dall'app (così come una dipendenza dalla libreria) ha risolto questo problema per me.


1

1. Aprire build.gradle a livello di progetto

Aggiorna la com.google.gms:google-servicesversione più recente. Tieni traccia dell'ultima versione . Al momento della risposta è l'ultima 4.1.0.

2. Apri build.gradle a livello di app

Aggiorna sotto la dipendenza se ne usi una. Nota che Firebase ha versioni individuali per ogni dipendenza ora.

Usa le ultime librerie Firebase . Al momento della risposta le ultime versioni sono di seguito.

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

Sincronizza e costruisci ...


1

Ho notato che i registri di debug menzionano la vecchia versione di firebase-analytics (16.0.0). L'aggiunta esplicita dell'ultima versione ha risolto il problema:

implementation "com.google.firebase:firebase-analytics:16.0.3"

1

Aggiorna tutte le tue dipendenze all'ultima versione e risolverà il problema.

Non è necessario aggiungere
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Porterà a crash se si utilizzano versioni miste.


1

Immagino che il seguente errore sia causato dalle diverse versioni delle dipendenze Firebase. Per me cambiare la versione di tutte le dipendenze che sto implementando sul mio progetto in 16.0.1 ha funzionato come un incantesimo.

Per me l'errore è stato creato dalla riga: com.google.firebase:firebase-auth:16.0.2

E l'ho cambiato in: com.google.firebase:firebase-auth:16.0.1

E ha funzionato .. Spero che questo aiuti.


1

Nel mio caso, questo risolve il problema:

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

1

Nel mio caso ho sostituito il mio file build.gradle questa riga

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

con

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

e ha aggiunto questa riga

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

Adesso va bene


1

Ho un problema simile che è stato risolto da:

  1. A livello di app: aggiorna tutte le dipendenze Firebase all'ultima versione più recente
  2. Nel livello di progetto: aggiorna la dipendenza all'ultimo:, gms.google-servicesNel mio caso era: "com.google.gms: google-services: 4.2.0"

questo è dove sta la magia. Tutte le dipendenze nell'app / build.gradle e quindi il file build.gradle più in alto aggiornano tutte le dipendenze
leeCoder,

1

Ho modificato le seguenti dipendenze nel mio progetto per farlo funzionare.

build.gradle (app):

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

per

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

build.gradle (app):

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

per

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

**** Nota :

Utilizzare il seguente collegamento per l'uso aggiornato delle librerie con dipendenze https://firebase.google.com/docs/android/setup


1

Usa la versione aggiornata di Firebase ed evita gli extra. Questo è sufficiente (ma se è necessario utilizzare lo spazio di archiviazione o .. è necessario aggiungerli anche loro)

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

e aggiorna i servizi google:

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

Grazie, l'utilizzo di queste versioni ha risolto il mio problema.
SriTeja Chilakamarri,


0

Se il messaggio è:

La libreria com.google.android.gms: play-services-measure-base è richiesta da varie altre librerie su [[15.0.4,15.0.4]], ma si risolve in 15.0.2 . Disabilita il plug-in e controlla l'albero delle dipendenze utilizzando ./gradlew: app: dipendenze.

Cambia la versione di tutte le librerie dei servizi di gioco che stai utilizzando con quella di cui hai bisogno ( 15.0.2 in questo caso) potrebbe risolvere il problema.

Nel mio caso, ho cambiato:

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

Risolto qui: anche io ho affrontato lo stesso problema quando provavo ad aggiungere crashlytics nella base di fuoco. Si prega di aggiornare la versione più recente di dipendenze per com.google.android.gms: play-servizi e com.google.firebase: ...... . Risolverà automaticamente i problemi


0

Ho avuto lo stesso problema quando ho provato ad aggiungere l'implementazione del database firebase, se ho commentato che la linea funziona, quindi dopo alcuni tentativi sono andato su https://firebase.google.com/docs/android/setup

Lì ho verificato le versioni delle librerie disponibili e il mio firebase-core era alla 16.0.1 (la versione attuale è 16.0.4), quindi l'ho cambiato manualmente e ha funzionato bene, build e sincronizzazione hanno avuto successo.


0

Nel mio caso rimuovo semplicemente

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

e aggiungi dipendenze degli annunci Firebase

implementation 'com.google.firebase:firebase-ads:17.1.2'

0

Aveva lo stesso problema. Devi rimuovere i due punti: dopo la versione in gradle (è un bug).

Queste impostazioni hanno funzionato per me:

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

Impostare anche multiDexEnabled su true nel gradle (se viene visualizzato l'errore DexOverflowException):

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.