com.google.android.gms: o play-services-measure-base está sendo solicitado por várias outras bibliotecas

173

Atualizei para o gradle 4.0.1 e comecei a receber o seguinte erro

A biblioteca com.google.android.gms: play-services-measure-base está sendo solicitada por várias outras bibliotecas em [[15.0.4,15.0.4]], mas resolve para 15.0.2. Desative o plug-in e verifique sua árvore de dependências usando ./gradlew: app: dependencies.

Meu projeto não usa essa dependência, então eu procurei globalmente e só aparece dentro

build / intermediários / lint-cache / maven.google / com / google / android / gms / group-index.xml

como esta linha

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

Tentei excluir minha pasta de compilação e limpar o projeto, mas ela a regenera com os mesmos valores: / portanto, o erro ainda permanece

Ilja
fonte
Resolvido aqui: Eu também enfrentei o mesmo problema ao tentar adicionar crashlytics no firebase. Por favor, atualize a versão mais recente de dependências para com.google.android.gms: play-serviços e com.google.firebase: ...... . Ele resolverá os problemas automaticamente #
Priya Rajan 14/10
Eu tinha a versão mais recente e recebi esse erro tão rebaixado para 15.0.1 e funcionou!
landrykapela
Por favor, vá para esta edição e comece com uma estrela. Parece que há muitos problemas porque havia muitas bibliotecas não publicadas do jCenter.
Patricio Sard

Respostas:

173

O problema real é discutido na nota de lançamento de 23 de maio de https://developers.google.com/android/guides/releases#may_23_2018

Basicamente, você precisa adicionar todas as bibliotecas do Play Services e Firebase à versão mais recente ( que pode ser diferente para cada uma desde a versão 15 ). Você pode usar https://mvnrepository.com/ para encontrar a versão mais recente de cada biblioteca.

Veja também: https://firebase.google.com/support/release-notes/android#20180523

Nico
fonte
5
O maven.google.com também é adequado para procurar as versões lançadas dessas bibliotecas.
PaulR
52
LifeSaver. O Google deve otimizar esse controle de versão. É uma dor
Dibzmania
1
Sua resposta me ajudou a descobrir isso. Mas eu tive que usar este post para realmente incluir as versões corretas no meu projeto e superar os erros.
Jacob Joel
12
Usei a versão mais recente de todas as bibliotecas, mas o erro permanece.
Student
2
Se você atualizar todas as bibliotecas para as respectivas versões respectivas, receberá um aviso que diz "Todas as bibliotecas gms / firebase devem usar exatamente a mesma especificação de versão (misturar versões pode causar falhas no tempo de execução)". Isso é esperado? Como você resolve isso , assim como o problema original?
user3369427
86

única solução de trabalho para mim:

coloque-o na parte inferior do build.gradle

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
htw
fonte
10
Para mim, essa solução oculta a mensagem, que é levantada de outra maneira: "A dependência do Android 'com.google.android.gms: play-services-measure-base' tem uma versão diferente para a compilação (15.0.4) e o tempo de execução ( 16.0.0) classpath. Você deve definir manualmente a mesma versão via DependencyResolution "
ARLabs
É a única solução que funcionou para mim. Mesmo com todas as bibliotecas gradle atualizadas.
1113 Neri
Funciona, mas use-o como último recurso. Sincronizei todas as versões do Google Play e Firebase, mas uma biblioteca se recusou a aceitar essa versão (foi codificada para exigir uma e apenas uma versão específica).
quer tocar hoje
Aqui está uma piada Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates..
22718 Kimi Chiu
18
isto é o pior que se pode fazer; ignorar o problema não é uma "solução".
Martin Zeitler
31

Certifique-se de manter as dependências do Google play services e do Firebase na versão mais recente.

Verifique também todos os seus arquivos gradle, nível de módulo e nível de projeto; deve haver apenas uma versão comum de dependência em todos os módulos. Pode ser resolvido mantendo essas versões na variável gradle no nível do projeto.

Verifique aqui a versão de atualização do Google Play Services

Serviços mais recentes do Google Play

Confira aqui a versão atualizada do Firebase

Firebase Latest

Verifique aqui a versão atualizada do Firebase para Android

Firebase Android mais recente

abitcode
fonte
isso foi útil. Usando react-native e tivemos que atualizar os pacotes que estávamos usando nos últimos links.
Publicknowledge 7/03/19
Isso pode acontecer mesmo que você dependa de apenas uma única lib do Google! Veja minha resposta para saber por que (plugin Android Gradle muito antigo).
NateS 16/03/19
13

eu atualizei

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

E funciona para mim

Amine M'hamed
fonte
1
Obrigado. Eu fiz a mesma coisa, funciona muito bem.
Nguyễn Anh Tuấn
1
onde eu preciso colocar essa linha?
Anand_5050
no android / app / build.gradle @ Anand_5050
Swati
9

alterar meu build.gradlepara o seguinte funcionou para mim:

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
fonte
obrigado, foi útil para mim e resolveu o meu erro. pelo menos me deu a direção para os próximos erros, que eu os coloquei na mesma resolução.Estratégia
Danish
Para esclarecer, está adicionando o ext {...}bloco para forçar a versão que corrige o problema
Aaron
7

No meu caso, usando as versões mais recentes do seguinte dependenciesresolveu meu problema:

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

Isso pode acontecer se o plug-in Android Gradle for muito antigo, mesmo se você estiver usando apenas uma única biblioteca do Google! Aparentemente, todas as bibliotecas do Google costumavam ter exatamente a mesma versão. Agora eles não precisam ser os mesmos, apenas os mais recentes. Ao especificar até mesmo uma única lib, ele obtém dependências nas quais as versões não correspondem e o antigo plug-in Android Gradle vomita.

Defina uma versão mais recente como:

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

Você pode precisar atualizar o seu Gradle para usar o plug-in mais recente (ele informa).

NateS
fonte
3

A única solução que funciona para mim (encontrada em SOF) (não possui o link) é:

no principal build.grale principal

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
fonte
3
agora eu estou recebendo erro diferenteThe 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

Adicione à lista de suas dependências. Agora, é necessário tê-lo para o trabalho adequado de todas as dependências do firebase:

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

Eu tive o mesmo problema

Apenas verifique se você possui as versões mais recentes de todas as dependências. Eu usei as versões atuais do núcleo e autenticação do Firebase. As versões mais recentes têm correções de bugs.

Você pode obter as versões mais recentes aqui: https://firebase.google.com/support/release-notes/android

Usando a versão mais recente no momento atual:

no app / build.gradle:

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

Um problema semelhante surgiu comigo quando tentei adicionar o Firebase Database ao meu projeto.

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

O problema pode ser resolvido fazendo o downgrade ou atualizando as duas versões para um nível semelhante. Então, eu rebaixei o banco de dados do firebase para

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

e funcionou! Todas as versões disponíveis podem ser pesquisadas neste site: https://mvnrepository.com/

Harshit Agarwall
fonte
1
Trabalhou para mim depois de pesquisar muitos artigos. Ocorreu um erro ao adicionar o banco de dados firebase. Obrigado
gauravsngarg
2

Você pode encontrar a biblioteca puxando essa dependência usando:

$ ./gradlew app:dependencies
Nico
fonte
3
Isso não está funcionando, apenas cospe o mesmo erro sem gráfico de dependência.
Jasonhudgins
3
você precisa remover a linha do plug-in apply: 'com.google.gms.google-services' antes de tentar fazer isso para evitar a exibição de erros
Kata Lune
1
Desativei o plug-in e verifiquei as dependências. Mas não havia qualquer biblioteca que tinha dependência para 15.0.4 como indicado na exceçãoThe 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 Eu tive exatamente o mesmo problema. Desclassificação tanto play-services-analyticse firebase-corepara 16.0.0resolver a questão.
NoHarmDan
Este novo sistema de versões não iguais para a biblioteca Firebase é uma tragédia por enquanto. Ontem tivemos um acidente aleatório no início app, porque firebase não foi capaz de init () por algum motivo estranho ... nós tivemos que desativar (no manifesto) Firebase-perf para ser capaz de remover acidente
miszmaniac
2

Estava com um erro 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.

A execução ./gradlew :app:dependenciesrevelará quais dependências estão exigindo dependências incorretas (as que estão entre colchetes). Para mim, o problema estava vindo do firebase-core: 16.0.3, como mostrado abaixo. Corrigi-o fazendo o downgrade do firebase-core para 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
Eric Kim
fonte
2

Para mim, esse erro apareceu após a integração do Crashlytics via Firebase, devido a um conflito de versões entre

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

Eu tentei fazer o downgrade do Firebase Core pela primeira vez 15.0.1, mas parece que não existe essa versão, apenas 15.0.0e 15.0.2! Em vez disso, tive que fazer o downgrade de ambos para a versão 15.0.0, então acabei com

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

Então agora está funcionando, mas recebo os avisos irritantes do Lint sobre a disponibilidade de novas versões. Esse desastre de versão é uma bagunça.

Magnus W
fonte
1

Eu estava encontrando esse problema e percebi que as notas de versão mencionavam:

O Firebase agora exige que o arquivo de classificação do aplicativo liste explicitamente com.google.firebase: firebase-core como uma dependência para os serviços do Firebase funcionarem conforme o esperado.

Fazer firebase-coreuma dependência de aplicativo (assim como uma dependência de biblioteca) resolveu esse problema para mim.

Tad
fonte
1

1. Abra o nível do projeto build.gradle

Atualize a com.google.gms:google-servicesversão para a mais recente. Acompanhe a versão mais recente . No momento da resposta, a última é 4.1.0.

2. Abra o nível de aplicativo build.gradle

Atualize abaixo da dependência, se você usar alguma. Observe que o firebase tem versões individuais para todas as dependências agora.

Use as bibliotecas mais recentes do Firebase . No momento da resposta, as versões mais recentes estão abaixo.

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

Sincronizar e criar ...

Khemraj
fonte
1

Notei que os logs de depuração mencionam a versão antiga do firebase-analytics (16.0.0). A adição explícita da versão mais recente corrigiu o problema:

implementation "com.google.firebase:firebase-analytics:16.0.3"
fumaça
fonte
1

Atualize todas as suas dependências para a versão mais recente e isso resolverá o problema.

Não há necessidade de adicionar
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Isso causará falhas se você usar versões mistas.

RakeshGupta
fonte
1

Eu acho que o seguinte erro foi causado por causa das versões variadas das dependências do firebase. Para mim, alterar a versão de todas as dependências que estou implementando no meu projeto para 16.0.1, funcionou como um encanto.

Para mim, o erro foi criado pela linha: com.google.firebase:firebase-auth:16.0.2

E eu mudei para: com.google.firebase:firebase-auth:16.0.1

E funcionou .. Espero que isso ajude.

Vipin George
fonte
1

No meu caso, isso resolve o problema:

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

No meu caso, substituí meu arquivo build.gradle nesta linha

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

com

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

e adicionou esta linha

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

Agora está tudo bem

Maddu Swaroop
fonte
1

Tenho um problema semelhante que foi resolvido por:

  1. Gradle no nível do aplicativo: atualize todas as dependências do firebase para a versão mais recente
  2. No nível do projeto gradle: atualize a dependência para a mais recente:, gms.google-servicesNo meu caso, era: 'com.google.gms: google-services: 4.2.0'
tabebqena
fonte
é aqui que está a mágica. Todas as dependências do app / build.gradle e, em seguida, a atualização do arquivo build.gradle superior todas as dependências
leeCoder
1

Alterei as seguintes dependências no meu projeto para fazê-lo funcionar.

build.gradle (app):

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

para

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

build.gradle (app):

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

para

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

****Nota :

Use o link a seguir para uso atualizado de bibliotecas que possuem dependências https://firebase.google.com/docs/android/setup

Muhammad Ali
fonte
1

Use a versão atualizada do Firebase e evite extras. Isso é suficiente (mas se você precisar usar espaço de armazenamento ou .. você deve adicioná-los também)

//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 atualize os serviços do google:

 classpath 'com.google.gms:google-services:4.3.2'
sana ebadi
fonte
Obrigado, o uso dessas versões resolveu meu problema.
SriTeja Chilakamarri 29/01
0

Se a mensagem for:

A biblioteca com.google.android.gms: play-services-measure-base está sendo solicitada por várias outras bibliotecas em [[15.0.4,15.0.4]], mas resolve para 15.0.2 . Desative o plug-in e verifique sua árvore de dependências usando ./gradlew: app: dependencies.

Altere a versão de todas as bibliotecas do play services que você está usando para a que você precisa ( 15.0.2 neste caso) pode resolver o problema.

No meu caso, eu mudei:

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
fonte
0

Resolvido aqui: Eu também enfrentei o mesmo problema ao tentar adicionar crashlytics no firebase. Por favor, atualize a versão mais recente de dependências para com.google.android.gms: play-serviços e com.google.firebase: ...... . Resolverá automaticamente os problemas

Priya Rajan
fonte
0

Eu tive o mesmo problema ao tentar adicionar a implementação do banco de dados firebase. Se comentei essa linha, ela funcionou. Depois de algumas tentativas, visitei https://firebase.google.com/docs/android/setup

Lá, verifiquei as versões das bibliotecas disponíveis e meu firebase-core estava em 16.0.1 (a versão atual é 16.0.4), então eu a alterei manualmente e funcionou muito bem, a compilação e a sincronização foram bem-sucedidas.

Anibal
fonte
0

No meu caso, simplesmente removo

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

e adicione dependências de anúncios do firebase

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

Teve o mesmo problema. Você precisa remover os dois pontos: após a versão no gradle (é um bug).

Essas configurações funcionaram para mim:

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

Defina também multiDexEnabled como true no gradle (se você receber o erro DexOverflowException):

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }
amor ao vivo
fonte