com.google.android.gms:各种其他图书馆正在请求play-services-measurement-base

时间:2018-05-29 06:11:33

标签: android gradle android-gradle google-play-services

我更新到gradle 4.0.1并开始收到以下错误

  

com.google.android.gms库:play-services-measurement-base是   各种其他图书馆在[[15.0.4,15.0.4]]提出要求,但是   解析为15.0.2。禁用插件并检查您的依赖项   树使用./gradlew:app:dependencies。

我的项目不使用该依赖项,因此我在全球范围内搜索它,而它只出现在

  

构建/中间体/棉绒的高速缓存/ maven.google / COM /谷歌/机器人/克/基INDEX.XML

作为这一行

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

所以我尝试删除我的构建文件夹并清理项目,但它使用相同的值重新生成它:/因此错误仍然存​​在

40 个答案:

答案 0 :(得分:149)

实际问题在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

答案 1 :(得分:79)

只为我提供解决方案:

将它放在build.gradle的底部

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

答案 2 :(得分:28)

确保将您的Google play服务依赖性和Firebase依赖性保持为最新版本。

还要检查所有gradle文件,模块级别和项目级别,所有模块之间必须只有一个通用的依赖版本。可以通过将这些版本保留在项目级别的gradle变量中来解决。

在此处查看Google Play服务更新版本

Google Play Services Latest

在此处查看Firebase的更新版本

Firebase Latest

在此处查看Android的Firebase更新版本

Firebase Android Latest

答案 3 :(得分:9)

我更新了

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

对我有用

答案 4 :(得分:8)

将我的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"
        }
      }
  }
}

答案 5 :(得分:5)

就我而言,使用以下dependencies的最新版本解决了我的问题:

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

答案 6 :(得分:4)

即使您的Android Gradle插件非常旧,也可能发生这种情况,即使您只使用一个Google lib!显然,所有Google库过去都必须是完全相同的版本。现在,它们不必相同,只需最新。即使只指定一个库,它也会引入版本不匹配的依赖项以及旧的Android Gradle插件呕吐。

设置新版本,例如:

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

您可能需要更新Gradle才能使用更新的插件(它将告诉您)。

答案 7 :(得分:3)

添加到依赖项列表。现在需要使用它来正确处理所有Firebase依赖项:

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

答案 8 :(得分: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'
}

答案 9 :(得分:3)

只有适合我的解决方案(在SOF中找到某些地方)(没有链接)是:

在top main 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"
            }
        }
    }
}

答案 10 :(得分:2)

当我尝试将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/

答案 11 :(得分:2)

对我来说,由于Firep之间的版本冲突,在通过Firebase集成了Crashlytics之后出现了此错误

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

我首先尝试将Firebase Core降级为15.0.1,但似乎there is no such version, only 15.0.0 and 15.0.2!却不得不将两者都降级为15.0.0,所以最终得到

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

所以现在它可以工作了,但是我收到了有关新版本可用的讨厌的Lint警告。这个版本控制崩溃是一个怪胎。

答案 12 :(得分:1)

我猜测以下错误是由于Firebase依赖关系的版本不同而引起的。对我来说,将我在项目中实现的所有依赖项的版本更改为16.0.1,就像一个魅力。

对我来说,错误是由以下行造成的: com.google.firebase:firebase-auth:16.0.2

我将其更改为: com.google.firebase:firebase-auth:16.0.1

它奏效了。希望这会有所帮助。

答案 13 :(得分:1)

就我而言,这可以解决问题:

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

答案 14 :(得分:1)

您可以使用以下方式找到提取此依赖性的库:

$ ./gradlew app:dependencies

答案 15 :(得分:1)

将所有依赖项更新到最新版本,它将解决此问题。

无需添加
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

如果使用混合版本,则会导致崩溃。

答案 16 :(得分:1)

我注意到调试日志提到了旧版本的firebase-analytics(16.0.0)。明确添加最新版本可解决此问题:

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

答案 17 :(得分:1)

1。打开项目级别的build.gradle

com.google.gms:google-services版本更新为最新版本。 Track latest release。在回答时,最新的是4.1.0

2。打开应用程序级别build.gradle

如果使用依赖项,则更新为低于依赖项。 请注意,firebase现在为每个依赖项提供了单独的版本。

使用latest Firebase Libraries。在回答时,最新版本如下。

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

同步和构建...

答案 18 :(得分:1)

我遇到错误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

答案 19 :(得分:1)

将“ +”替换为版本号,它将选择最新版本。 像这样:

implementation 'com.google.firebase:firebase-analytics:+'

答案 20 :(得分:0)

我有同样的问题,然后我解决了实施'com.google.firebase:firebase-auth:15+'的可能性,而不是实施'com.google.firebase:firebase-auth:16.1.0'

答案 21 :(得分:0)

我已经使用了所有最新的依赖项。结果发现我在 AndroidManifest 中缺少权限。添加此权限修复了错误:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

如他们的文档中所述: https://developers.google.com/android/guides/permissions

答案 22 :(得分:0)

使用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'

答案 23 :(得分:0)

我遇到了同样的错误,但是我的案例有所不同,我同时使用了受众网络和Firebase。

我收到此错误

  

Android依赖项'com.google.android.gms:play-services-basement'对于编译(11.0.4)和运行时(16.0.1)类路径具有不同的版本。您应该通过DependencyResolution手动设置相同的版本

如果您使用的是audience-network

,这是解决方案
implementation ("com.facebook.android:audience-network-sdk:$rootProject.fb_version")
{
    exclude group: 'com.google.android.gms'
}

答案 24 :(得分:0)

当我尝试对所有内容使用相同版本时,我遇到类似的错误:

implementation 'com.google.android.gms:play-services-base:16.0.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.0'
implementation 'com.google.android.gms:play-services-awareness:16.0.0'
implementation 'com.google.android.gms:play-services-cast:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.firebase:firebase-messaging:16.0.0'

当我执行以下操作时,该问题已为我解决:

1)使用了每种服务的最新版本:

implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.8'
implementation 'com.google.android.gms:play-services-awareness:16.0.0'
implementation 'com.google.android.gms:play-services-cast:16.2.0'
implementation 'com.google.android.gms:play-services-gcm:16.1.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.firebase:firebase-messaging:17.6.0'

2)将Android Studio升级到了今天可用的最新版本(Android Studio 3.4)。

3)将Android Gradle插件版本升级到3.4.0,并将Gradle版本升级到5.1.1。

答案 25 :(得分:0)

我在项目中更改了以下依赖项以使其正常工作。

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

答案 26 :(得分:0)

这可以通过使用最新的一组依赖关系来解决。

您可以在下面的网站上找到最新的

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

再次发布该同步,它应该可以正常工作

答案 27 :(得分:0)

我有类似的问题,可以通过以下方式解决:

  1. 在应用程序级别gradle:将所有firebase依赖项更新为最新版本latest
  2. 在项目级别gradle中:将依赖关系更新为最新版本:gms.google-services,就我而言,它是:'com.google.gms:google-services:4.2.0'

答案 28 :(得分:0)

就我而言,我已在这一行替换了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'

现在可以了

答案 29 :(得分:0)

我的情况下,我在网址下方使用了最新的rnfirebase

https://rnfirebase.io/docs/v4.3.x/installation/android

在android / app / proguard-rules.pro中添加以下内容

-keep class io.invertase.firebase.** { *; }
-dontwarn io.invertase.firebase.**

答案 30 :(得分:0)

这是一个简单的解决方案。 问题是因为您正在为一个库使用最新版本,而为另一个库使用较低版本。尝试平衡它。最好的解决方案是对所有库使用最新版本。 要解决您的问题,只需单击here,然后查看最新版本的库并将其包含在您的项目中,然后进行同步。
就我而言,以下内容对我有用:

dependencies{
    implementation 'com.google.firebase:firebase-core:16.0.7'
    implementation 'com.google.firebase:firebase-database:16.1.0'
}
apply plugin: 'com.google.gms.google-services'

答案 31 :(得分:0)

firebase-core和firebase-database ...应该是同一版本:

实现'com.google.firebase:firebase-core:16.0.1' 实施'com.google.firebase:firebase-database:16.0.1'

答案 32 :(得分:0)

只需放在下面的代码中即可:

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

并重建。对我来说很好用

答案 33 :(得分:0)

有同样的问题。您必须在冒号中的版本之后删除冒号:(这是一个错误)。

这些设置对我有用:

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

还要在gradle中将multiDexEnabled设置为true(如果出现DexOverflowException错误):

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }

答案 34 :(得分:0)

我碰到了这个问题,并注意到release notes提到了:

  

Firebase现在要求应用gradle文件明确列出com.google.firebase:firebase-core作为Firebase服务按预期工作的依赖项。

firebase-core成为应用程序依赖项(以及库依赖项)可以为我解决此问题。

答案 35 :(得分:0)

就我而言,我只是删除

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

并添加Firebase广告依赖项

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

答案 36 :(得分:0)

当我尝试添加firebase-database实现时,我遇到了同样的问题,如果我注释了该行,那么,经过几次尝试,我去了https://firebase.google.com/docs/android/setup

我在那里检查了可用库的版本,并且我的firebase-core为16.0.1(当前版本为16.0.4),因此我手动对其进行了更改,并且工作正常,构建和同步均成功。

答案 37 :(得分: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'

答案 38 :(得分:0)

在这里解决: 尝试在firebase中添加crashlytics时,我也面临着相同的问题。请更新 com.google.android.gms:play-services com.google.firebase:...... 的依赖关系的最新版本。它将自动解决问题

答案 39 :(得分:-1)

原因

当您的Firebase或Google Play服务库中的一个或多个是旧版本时,就会发生此错误。

解决方案

只需更新所有库为最新版本。

如果您必须使用旧版本(例如出于制裁或其他原因),请遵循以下步骤:

  • 在您的app / build.Gradle文件末尾添加googleServices.disableVersionCheck = true
  • 运行项目并查找重复的库或存在依赖性问题的库
  • 添加它们以排除旧库。

示例

// remote config uses the old version
implementation('com.google.firebase:firebase-config:16.1.3') {   
    exclude group: 'com.google.firebase', module: 'firebase-analytics'
    exclude group: 'com.google.firebase', module: 'firebase-analytics-impl'
    exclude group: 'com.google.android.gms', module: 'play-services-measurement'
    exclude group: 'com.google.android.gms', module: 'play-services-measurement-impl'
}
implementation 'com.google.firebase:firebase-analytics:17.4.0'
implementation 'com.google.firebase:firebase-messaging:20.1.6'
implementation 'com.google.firebase:firebase-crashlytics:17.0.0'