com.google.android.gms : play-services-measurement-base는 다른 여러 라이브러리에서 요청하고 있습니다.


173

4.0.1을 gradle로 업데이트하고 다음 오류가 발생하기 시작했습니다.

com.google.android.gms : play-services-measurement-base 라이브러리는 [[15.0.4,15.0.4]]의 다른 여러 라이브러리에서 요청하지만 15.0.2로 해석됩니다. 플러그인을 비활성화하고 ./gradlew : app : dependencies를 사용하여 종속성 트리를 확인하십시오.

내 프로젝트는 그 의존성을 사용하지 않으므로 전 세계적으로 검색했으며 내부에서만 나타납니다.

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

이 라인으로

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

그래서 빌드 폴더를 삭제하고 프로젝트를 정리하려고 시도했지만 동일한 값으로 다시 생성합니다.


here 해결 : firebase에 crashlytics를 추가하려고 할 때도 같은 문제에 직면했습니다. com.google.android.gms : play-servicescom.google.firebase : ......에 대한 최신 버전의 종속성을 업데이트하십시오 . 자동으로 문제를 해결합니다
프리 야 라잔에게

최신 버전이 있었고이 오류가 15.0.1로 다운 그레이드되어 작동했습니다!
landrykapela

이 문제 로 가서 별표를 표시하십시오. jCenter에서 게시되지 않은 라이브러리가 많기 때문에 많은 문제가있는 것 같습니다.
Patricio Sard

답변:


173

실제 문제는 https://developers.google.com/android/guides/releases#may_23_2018 의 5 월 23 일 릴리스 노트에 설명되어 있습니다.

기본적으로 모든 Play 서비스Firebase 라이브러리를 최신 버전 ( 버전 15부터 다를 수 있음 )으로 변경해야합니다. https://mvnrepository.com/ 을 사용 하여 각 라이브러리의 최신 버전을 찾을 수 있습니다 .

참조 : https://firebase.google.com/support/release-notes/android#20180523


5
maven.google.com 은 이러한 라이브러리의 출시 된 버전을 찾는 데 적합합니다.
PaulR

52
생명의 은인. Google은이 버전 관리를 간소화해야합니다. 그것은 고통이다
Dibzmania

1
당신의 대답은 이것을 알아내는 데 도움이되었습니다. 그러나이 게시물 을 사용 하여 실제로 프로젝트에 올바른 버전을 포함시키고 오류를 극복해야했습니다.
Jacob Joel

12
모든 라이브러리의 최신 버전을 사용했지만 오류가 남아 있습니다.
학생

2
모든 라이브러리를 최신 버전으로 업데이트하면 "모든 gms / firebase 라이브러리는 정확히 동일한 버전 사양을 사용해야합니다 (버전을 혼합하면 런타임 충돌이 발생할 수 있음)"이라는 경고가 표시됩니다. 이것이 예상됩니까? 어떻게이 문제를 해결 할 뿐만 아니라 원래의 문제로?
user3369427 1

86

나를 위해 작동하는 유일한 솔루션 :

build.gradle의 맨 아래에 넣으십시오.

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

10
나 에게이 솔루션은 메시지를 숨기고 다른 방법으로 제기됩니다. "Android 종속성 'com.google.android.gms : play-services-measurement-base'는 컴파일 (15.0.4) 및 런타임 ( 16.0.0) classpath. DependencyResolution을 통해 동일한 버전을 수동으로 설정해야합니다 "
ARLabs

나를 위해 일한 유일한 솔루션입니다. 모든 gradle 라이브러리가 최신 상태 인 경우에도 마찬가지입니다.
Neri

작동하지만 최후의 수단으로 사용하십시오. 모든 Google Play 및 Firebase 버전을 동기화했지만 한 라이브러리에서 해당 버전을 수락하지 않았습니다 (단 하나의 특정 버전 만 요구하도록 하드 코딩되었습니다).
pmont

여기에 농담이 Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates.있습니다.
Kimi Chiu

18
이것은 최악의 일이다. 문제를 무시하는 것은 "솔루션"이 아닙니다.
Martin Zeitler

31

Google Play 서비스 종속성 및 Firebase 종속성을 최신 버전으로 유지하십시오.

또한 모든 gradle 파일, 모듈 수준 및 프로젝트 수준을 확인하십시오. 모든 모듈에서 하나의 공통 버전의 종속성이 있어야합니다. 해당 버전을 프로젝트 레벨 gradle 변수로 유지하여 해결할 수 있습니다.

Google Play 서비스 업데이트 버전은 여기를 확인하십시오.

Google Play 서비스 최신

Firebase 업데이트 버전은 여기를 확인하십시오.

파이어베이스 최신

Android 용 Firebase 업데이트 버전은 여기를 확인하십시오.

Firebase Android 최신


이것은 유용했다. react-native를 사용하여 이러한 링크에서 최신 패키지를 업데이트해야했습니다.
publicknowledge

하나의 Google 라이브러리에만 의존하더라도 발생할 수 있습니다! 이유에 대한 내 답변을 참조하십시오 (매우 오래된 Android Gradle 플러그인).
NateS

13

나는 업데이트했다

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

그리고 그것은 나를 위해 작동


1
감사합니다. 나는 똑같은 일을했다. 매우 잘 작동한다.
Nguyễn Anh Tuấn

1
이 줄을 어디에 넣어야합니까?
Anand_5050

android / app / build.gradle @ Anand_5050에서
Swati

9

build.gradle것을 다음으로 변경 하면 나를 위해 일했습니다.

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

고마워, 그것은 나에게 도움이되었고 내 오류를 해결했다. 이어야 나에게 내가 같은 resolutionStrategy에 넣어 다음 오류에 대한 방향 준
덴마크어

명확히하기 위해, ext {...}문제를 해결하는 버전을 강제로 차단 하는 블록을 추가했습니다
Aaron

7

내 경우에는 다음 버전의 최신 버전을 사용하여 dependencies문제를 해결했습니다.

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

5

단일 Google 라이브러리 만 사용하더라도 Android Gradle 플러그인이 매우 오래된 경우에 발생할 수 있습니다! 이전에 사용 된 모든 Google 라이브러리는 정확히 동일한 버전이어야합니다. 이제는 동일 할 필요가 없으며 최신 버전 일뿐입니다. 단일 라이브러리조차 지정하면 버전이 일치하지 않고 이전 Android Gradle 플러그인이 푸시되는 종속성을 가져옵니다.

다음과 같은 최신 버전을 설정하십시오.

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

최신 플러그인을 사용하려면 Gradle을 업데이트해야 할 수도 있습니다 (알겠습니다).


3

나를 위해 작동하는 솔루션 만 (SOF의 일부를 찾았습니다) (링크가 없음) :

메인 메인 빌드에서

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
이제 다른 오류가 발생합니다The 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

종속성 목록에 추가하십시오. 이제 모든 firebase 의존성에 대한 올바른 작업을 위해 필요합니다.

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

3

나는 같은 문제가 있었다

모든 종속성 의 최신 버전 이 있는지 확인하십시오 . Firebase 코어 및 인증에 현재 버전을 사용했습니다. 최신 버전에는 버그 수정이 있습니다.

https://firebase.google.com/support/release-notes/android 에서 최신 버전을 얻을 수 있습니다.

현재 시점에서 최신 버전 사용 :

app / build.gradle에서 :

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

3

내 프로젝트에 Firebase 데이터베이스를 추가하려고 할 때 비슷한 문제가 발생했습니다.

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

이 문제는 두 버전을 모두 비슷한 수준으로 다운 그레이드하거나 업그레이드하여 해결할 수 있습니다. 그래서 firebase 데이터베이스를 다운 그레이드했습니다.

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

그리고 그것은 효과가 있었다! 사용 가능한 모든 버전은이 사이트에서 검색 할 수 있습니다 : https://mvnrepository.com/


1
많은 기사를 검색 한 후 나를 위해 일했습니다. Firebase 데이터베이스를 추가하는 중에 오류가 발생했습니다. 감사합니다
gauravsngarg

2

다음을 사용하여 라이브러리를 찾을 수 있습니다.

$ ./gradlew app:dependencies

3
이것은 작동하지 않으며 종속성 그래프없이 동일한 오류를 내뿜습니다.
jasonhudgins 2016 년

3
오류가 발생하지 않도록하기 위해 apply plugin : 'com.google.gms.google-services'줄을 제거해야합니다.
Kata Lune

1
플러그인을 비활성화하고 종속성을 확인했습니다. 그러나 예외에 명시된 바와 같이 15.0.4에 의존성을 가지고있는 라이브러리가 없었다The 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 나는 똑같은 문제가있었습니다. 모두 다운 그레이드 play-services-analyticsfirebase-core에이 16.0.0문제를 해결했다.
NoHarmDan

Firebase 라이브러리를위한 새로운 버전의 동일하지 않은 버전의 시스템은 현재 비극입니다. 중포 기지가 어떤 이상한 이유로 () init을 할 수 없었기 때문에 어제 우리는 (매니페스트에서) 충돌 제거 할 수 있도록 퍼포 레이션 중포 기지 우리가 비활성화로했다 ..., 응용 프로그램 시작시 임의의 충돌이 있었다
miszmaniac

2

오류가 발생했습니다 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.

실행 ./gradlew :app:dependencies하면 어떤 종속성이 잘못된 종속성 (대괄호 안에있는 것)이 필요한지 알 수 있습니다. 나에게 문제는 아래와 같이 firebase-core에서 발생했습니다 .16.0.3. firebase-core를 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

나를 위해이 오류는 Firebase를 통해 Crashlytics를 통합 한 후 버전 간 충돌로 인해 나타났습니다.

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

내가 처음에 중포 기지 코어를 다운 그레이드 시도 15.0.1하지만 보인다 이러한 버전은,이 없습니다 15.0.015.0.2! 대신 나는 둘 다 version으로 다운 그레이드해야 15.0.0했으므로

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

이제 작동하지만 새로운 버전을 사용할 수 있다는 성가신 Lint 경고가 표시됩니다. 이 버전 관리는 당황스러운 일입니다.


1

나는이 문제에 부딪 쳤고 릴리스 노트에서 언급 한 것을 알았습니다 .

Firebase는 이제 앱 gradle 파일에 com.google.firebase : firebase-core를 명시 적으로 나열하여 Firebase 서비스가 예상대로 작동하도록합니다.

firebase-core라이브러리 종속성뿐만 아니라 앱 종속성을 만들면 이 문제가 해결되었습니다.


1

1. 프로젝트 레벨 build.gradle을 엽니 다.

최신 com.google.gms:google-services버전으로 업데이트하십시오 . 최신 릴리스를 추적하십시오 . 답변시 최신입니다 4.1.0.

2. 앱 레벨 build.gradle을 엽니 다.

사용하는 경우 아래 종속성을 업데이트하십시오. 참고 중포 기지는 이제 모든 의존성에 대한 개별 버전이 있습니다.

최신 Firebase 라이브러리를 사용하십시오 . 답변 당시 최신 버전은 다음과 같습니다.

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

동기화 및 빌드 ...


1

디버그 로그에 이전 버전의 firebase-analytics (16.0.0)가 언급되어 있습니다. 최신 버전을 명시 적으로 추가하면 문제가 해결되었습니다.

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

1

모든 종속성을 최신 버전으로 업데이트하면 문제가 해결됩니다.

추가 할 필요가 없습니다
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

혼합 버전을 사용하면 충돌이 발생합니다.


1

다양한 버전의 firebase 종속성으로 인해 다음 오류가 발생했다고 생각합니다. 내 프로젝트에서 구현하는 모든 종속성 버전을 16.0.1로 변경하면 매력처럼 작동했습니다.

나를 위해 오류는 줄에 의해 생성되었습니다. com.google.firebase:firebase-auth:16.0.2

그리고 나는 그것을 다음과 같이 바꿨다. com.google.firebase:firebase-auth:16.0.1

그리고 그것은 효과가 있었다. 이것이 도움이되기를 바란다.


1

내 경우에는 문제가 해결됩니다.

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

1

내 경우에는 build.gradle 파일을이 줄로 바꿨습니다.

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

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

이 줄을 추가

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

이제 괜찮아


1

비슷한 문제가 있습니다.

  1. 앱 수준 gradle : 모든 firebase 종속성을 최신 버전으로 업데이트
  2. 프로젝트 레벨 gradle : 최신 업데이트 종속성 : gms.google-services, 내 경우는 'com.google.gms : google-services : 4.2.0'

이곳은 마법이있는 곳입니다. app / build.gradle의 모든 종속성과 최상위 build.gradle 파일은 모든 종속성을 업데이트합니다.
leeCoder

1

나는 프로젝트에서 다음과 같은 의존성을 변경하여 작동시켰다.

build.gradle (앱) :

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

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

build.gradle (앱) :

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

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

****노트 :

https://firebase.google.com/docs/android/setup에 종속 된 라이브러리를 업데이트하려면 다음 링크를 사용 하십시오.


1

업데이트 된 Firebase 버전을 사용하고 추가 정보를 피하십시오. 이것으로 충분합니다 (그러나 저장 공간을 사용해야하거나 ..도 추가해야합니다)

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

google-services를 업데이트하십시오.

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

이 버전을 사용하면 문제가 해결되었습니다.
SriTeja Chilakamarri


0

메시지가 다음과 같은 경우 :

com.google.android.gms : play-services-measurement-base 라이브러리는 [[15.0.4,15.0.4]]의 다른 여러 라이브러리에서 요청하지만 15.0.2로 해석됩니다 . 플러그인을 비활성화하고 ./gradlew : app : dependencies를 사용하여 종속성 트리를 확인하십시오.

사용중인 모든 플레이 서비스 라이브러리의 버전을 필요한 것으로 변경하면 ( 이 경우 15.0.2 ) 문제를 해결할 수 있습니다.

제 경우에는 다음을 변경했습니다.

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

here 해결 : firebase에 crashlytics를 추가하려고 할 때도 같은 문제에 직면했습니다. com.google.android.gms : play-servicescom.google.firebase : ......에 대한 최신 버전의 종속성을 업데이트하십시오 . 자동으로 문제를 해결합니다


0

firebase-database 구현을 추가하려고 할 때도 동일한 문제가 발생했습니다. 해당 줄을 주석 처리하면 몇 번의 시도 후에 https://firebase.google.com/docs/android/setup 으로 이동했습니다

거기에서 사용 가능한 라이브러리의 버전을 확인했으며 내 firebase-core는 16.0.1 (현재 버전은 16.0.4)이므로 수동으로 변경했으며 정상적으로 작동했으며 빌드 및 동기화에 성공했습니다.


0

내 경우에는 단순히 제거

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

Firebase 광고 의존성을 추가

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

0

같은 문제가 있었다. gradle의 버전 다음에 콜론을 제거해야합니다 (버그입니다).

이 설정은 저에게 효과적이었습니다.

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

또한 gradle에서 multiDexEnabled를 true로 설정하십시오 (DexOverflowException 오류가 발생하면).

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.