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-services 및 com.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-analytics과 firebase-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.0와 15.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-services 및 com.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.