com.google.android.gms:play-services-measurement-base 正在被各种其他库请求
com.google.android.gms:play-services-measurement-base is being requested by various other libraries
我更新到 gradle 4.0.1 并开始收到以下错误
The library com.google.android.gms:play-services-measurement-base is
being requested by various other libraries at [[15.0.4,15.0.4]], but
resolves to 15.0.2. Disable the plugin and check your dependencies
tree using ./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"/>
所以我尝试删除我的构建文件夹并清理项目,但它使用相同的值重新生成它:/因此错误仍然存在
您可以使用以下方法找到提取此依赖项的库:
$ ./gradlew app:dependencies
https://developers.google.com/android/guides/releases#may_23_2018
的 5 月 23 日发行说明中讨论了实际问题
基本上,您需要将所有 Play Services 和 Firebase 库升级到最新版本(这可能是自版本 15 以来每个都不同)。
您可以使用 https://mvnrepository.com/ 查找每个库的最新版本。
另请参阅:https://firebase.google.com/support/release-notes/android#20180523
唯一对我有用的解决方案(在 SOF 中找到了一些地方)(没有 link)是:
在顶部主要 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"
}
}
}
}
唯一适合我的解决方案:
放在build.gradle的底部
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
在我的例子中,使用以下 dependencies
的最新版本解决了我的问题:
'com.google.android.gms:play-services-analytics:16.0.1'
'com.google.android.gms:play-services-tagmanager:16.0.1'
添加到您的依赖项列表。现在需要它才能使所有 firebase 依赖项正常工作:
implementation 'com.google.firebase:firebase-core:16.0.1'
我猜下面的错误是由于firebase依赖的不同版本造成的。对我来说,将我在我的项目中实现的所有依赖项的版本更改为 16.0.1,效果非常好。
对我来说,错误是由以下行造成的:
com.google.firebase:firebase-auth:16.0.2
然后我将其更改为:
com.google.firebase:firebase-auth:16.0.1
成功了..希望这有帮助。
我的情况是我在下面使用最新的 rnfirebase URL
https://rnfirebase.io/docs/v4.3.x/installation/android
在下面添加 android/app/proguard-rules.pro)
-keep class io.invertase.firebase.** { *; }
-dontwarn io.invertase.firebase.**
我更新了
implementation 'com.google.android.gms:play-services-analytics:16.0.3'
对我有用
我遇到了一个错误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
我遇到了这个问题,注意到 release notes 提到:
Firebase now requires the app gradle file to explicitly list com.google.firebase:firebase-core as a dependency for Firebase services to work as expected.
制作 firebase-core
应用程序依赖项(以及库依赖项)为我解决了这个问题。
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
同步并构建...
我注意到调试日志提到旧版本的 firebase-analytics (16.0.0)。明确添加最新版本解决了问题:
implementation "com.google.firebase:firebase-analytics:16.0.3"
如果消息是:
The library com.google.android.gms:play-services-measurement-base is
being requested by various other libraries at [[15.0.4,15.0.4]], but
resolves to 15.0.2. Disable the plugin and check your dependencies
tree using ./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'
对我来说,这个错误是在通过 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 警告。这个版本控制崩溃真是一团糟。
确保将您的 Google 播放服务依赖项和 Firebase 依赖项保持为最新版本。
还要检查所有 gradle 文件、模块级别和项目级别,所有模块之间的依赖关系必须只有一个通用版本。可以通过将这些版本保留在项目级别 gradle 变量中来解决。
在此处查看 Google 播放服务更新版本
在此处查看 Firebase 更新版本
在此处查看 Android 的 Firebase 更新版本
将“+”替换为版本号,会选择最新版本。
像这样:
implementation 'com.google.firebase:firebase-analytics:+'
此处解决:
尝试在 firebase 中添加 crashlytics 时,我也遇到了同样的问题。请为 com.google.android.gms:play-services 和 com.google.firebase 更新最新版本的依赖项:...... .它会自动解决问题
将所有依赖项更新到最新版本,它将解决问题。
无需添加
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
混合使用会导致崩溃
我在尝试添加 firebase-database 实现时遇到了同样的问题,如果我评论那一行它就可以工作,所以在尝试了几次之后我去了 https://firebase.google.com/docs/android/setup
在那里我检查了可用库的版本,我的 firebase-core 是 16.0.1(当前版本是 16.0.4)所以我手动更改它并且它工作正常,构建和同步成功。
将我的 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"
}
}
}
}
在我的例子中,我只是删除了
implementation "com.google.android.gms:play-services-ads:16.0.0
并添加 Firebase 广告依赖项
implementation 'com.google.firebase:firebase-ads:17.1.2'
我有同样的问题
只需确保您拥有所有依赖项的最新版本。
我将当前版本用于 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'
}
当我尝试将 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/
有同样的问题。您必须删除冒号 : 在 gradle 中的版本之后(这是一个错误)。
这些设置对我有用:
implementation 'com.google.firebase:firebase-firestore:17.1.5'
同时在 gradle 中将 multiDexEnabled 设置为 true(如果出现 DexOverflowException 错误):
android {
compileSdkVersion 27
..
multiDexEnabled true
}
只需输入以下代码:
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-database:16.0.6'
并重建。它对我来说很好
firebase-core 和 firebase-database ... 应该是相同的版本:
实施'com.google.firebase:firebase-core:16.0.1'
实施 'com.google.firebase:firebase-database:16.0.1'
就我而言,这解决了问题:
implementation 'com.google.android.gms:play-services-analytics:16.0.1'
我有同样的问题,然后我解决了随机实现 'com.google.firebase:firebase-auth:15+' 而不是实现 'com.google.firebase:firebase-auth:16.1.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'
如果您的 Android Gradle 插件非常旧,即使您只使用一个 Google 库,也会发生这种情况!显然,所有 Google 库过去都需要是完全相同的版本。现在它们不需要相同,只需最新的即可。即使指定单个库,它也会引入版本不匹配的依赖项以及旧的 Android Gradle 插件。
设置较新的版本,例如:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
}
}
您可能需要更新 Gradle 才能使用更新的插件(它会告诉您)。
在我的例子中,我已经替换了我的 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'
现在好了
我有类似的问题已解决:
- 在应用级别gradle:将所有 firebase 依赖项更新到最新版本latest
- 在项目级别 gradle 中:将依赖项更新为最新的:
gms.google-services
,在我的例子中是:'com.google.gms:google-services:4.2.0'
这可以通过使用最新的依赖集来解决。
您可以在下面的网站上找到最新的
https://firebase.google.com/support/release-notes/android#20180523
Post 再次同步,应该可以正常工作
我更改了项目中的以下依赖项以使其工作。
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'
****注:
使用以下 link 更新具有依赖项的库的使用
https://firebase.google.com/docs/android/setup
当我尝试对所有内容使用相同的版本时,我遇到了类似的错误:
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.
我遇到了同样的错误,但我的情况不同我同时使用了 Audience Network 和 Firebase。
我遇到了这个错误
Android dependency 'com.google.android.gms:play-services-basement' has different version for the compile (11.0.4) and runtime (16.0.1) classpath. You should manually set the same version via DependencyResolution
如果您使用 audience-network
,这里是解决方案
implementation ("com.facebook.android:audience-network-sdk:$rootProject.fb_version")
{
exclude group: 'com.google.android.gms'
}
使用更新版本的 Firebase 并避免附加功能。
这已经足够了(但是如果你需要使用存储 space 或 .. 你也应该添加它们)
//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-服务:
classpath 'com.google.gms:google-services:4.3.2'
原因
当您的一个或多个 firebase 或 google play 服务库是旧版本时会发生此错误。
解决方案
只需更新所有库到最新版本。
如果您必须使用旧版本(例如出于制裁或其他原因),请遵循以下步骤:
- 将
googleServices.disableVersionCheck = true
添加到 app/build.Gradle 文件的末尾
- 运行 项目并找到重复的库或有依赖性问题的库
- 添加它们以排除旧库。
例子
// 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'
我已经使用了所有最新的依赖项。原来我在 AndroidManifest
中缺少权限。添加此权限修复了错误:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
如他们的文档所述:
https://developers.google.com/android/guides/permissions
我更新到 gradle 4.0.1 并开始收到以下错误
The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[15.0.4,15.0.4]], but resolves to 15.0.2. Disable the plugin and check your dependencies tree using ./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"/>
所以我尝试删除我的构建文件夹并清理项目,但它使用相同的值重新生成它:/因此错误仍然存在
您可以使用以下方法找到提取此依赖项的库:
$ ./gradlew app:dependencies
https://developers.google.com/android/guides/releases#may_23_2018
的 5 月 23 日发行说明中讨论了实际问题基本上,您需要将所有 Play Services 和 Firebase 库升级到最新版本(这可能是自版本 15 以来每个都不同)。 您可以使用 https://mvnrepository.com/ 查找每个库的最新版本。
另请参阅:https://firebase.google.com/support/release-notes/android#20180523
唯一对我有用的解决方案(在 SOF 中找到了一些地方)(没有 link)是:
在顶部主要 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"
}
}
}
}
唯一适合我的解决方案:
放在build.gradle的底部
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
在我的例子中,使用以下 dependencies
的最新版本解决了我的问题:
'com.google.android.gms:play-services-analytics:16.0.1'
'com.google.android.gms:play-services-tagmanager:16.0.1'
添加到您的依赖项列表。现在需要它才能使所有 firebase 依赖项正常工作:
implementation 'com.google.firebase:firebase-core:16.0.1'
我猜下面的错误是由于firebase依赖的不同版本造成的。对我来说,将我在我的项目中实现的所有依赖项的版本更改为 16.0.1,效果非常好。
对我来说,错误是由以下行造成的:
com.google.firebase:firebase-auth:16.0.2
然后我将其更改为:
com.google.firebase:firebase-auth:16.0.1
成功了..希望这有帮助。
我的情况是我在下面使用最新的 rnfirebase URL
https://rnfirebase.io/docs/v4.3.x/installation/android
在下面添加 android/app/proguard-rules.pro)
-keep class io.invertase.firebase.** { *; }
-dontwarn io.invertase.firebase.**
我更新了
implementation 'com.google.android.gms:play-services-analytics:16.0.3'
对我有用
我遇到了一个错误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
我遇到了这个问题,注意到 release notes 提到:
Firebase now requires the app gradle file to explicitly list com.google.firebase:firebase-core as a dependency for Firebase services to work as expected.
制作 firebase-core
应用程序依赖项(以及库依赖项)为我解决了这个问题。
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
同步并构建...
我注意到调试日志提到旧版本的 firebase-analytics (16.0.0)。明确添加最新版本解决了问题:
implementation "com.google.firebase:firebase-analytics:16.0.3"
如果消息是:
The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[15.0.4,15.0.4]], but resolves to 15.0.2. Disable the plugin and check your dependencies tree using ./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'
对我来说,这个错误是在通过 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 警告。这个版本控制崩溃真是一团糟。
确保将您的 Google 播放服务依赖项和 Firebase 依赖项保持为最新版本。
还要检查所有 gradle 文件、模块级别和项目级别,所有模块之间的依赖关系必须只有一个通用版本。可以通过将这些版本保留在项目级别 gradle 变量中来解决。
在此处查看 Google 播放服务更新版本
在此处查看 Firebase 更新版本
在此处查看 Android 的 Firebase 更新版本
将“+”替换为版本号,会选择最新版本。 像这样:
implementation 'com.google.firebase:firebase-analytics:+'
此处解决: 尝试在 firebase 中添加 crashlytics 时,我也遇到了同样的问题。请为 com.google.android.gms:play-services 和 com.google.firebase 更新最新版本的依赖项:...... .它会自动解决问题
将所有依赖项更新到最新版本,它将解决问题。
无需添加com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
混合使用会导致崩溃
我在尝试添加 firebase-database 实现时遇到了同样的问题,如果我评论那一行它就可以工作,所以在尝试了几次之后我去了 https://firebase.google.com/docs/android/setup
在那里我检查了可用库的版本,我的 firebase-core 是 16.0.1(当前版本是 16.0.4)所以我手动更改它并且它工作正常,构建和同步成功。
将我的 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"
}
}
}
}
在我的例子中,我只是删除了
implementation "com.google.android.gms:play-services-ads:16.0.0
并添加 Firebase 广告依赖项
implementation 'com.google.firebase:firebase-ads:17.1.2'
我有同样的问题
只需确保您拥有所有依赖项的最新版本。 我将当前版本用于 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'
}
当我尝试将 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/
有同样的问题。您必须删除冒号 : 在 gradle 中的版本之后(这是一个错误)。
这些设置对我有用:
implementation 'com.google.firebase:firebase-firestore:17.1.5'
同时在 gradle 中将 multiDexEnabled 设置为 true(如果出现 DexOverflowException 错误):
android {
compileSdkVersion 27
..
multiDexEnabled true
}
只需输入以下代码:
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-database:16.0.6'
并重建。它对我来说很好
firebase-core 和 firebase-database ... 应该是相同的版本:
实施'com.google.firebase:firebase-core:16.0.1' 实施 'com.google.firebase:firebase-database:16.0.1'
就我而言,这解决了问题:
implementation 'com.google.android.gms:play-services-analytics:16.0.1'
我有同样的问题,然后我解决了随机实现 'com.google.firebase:firebase-auth:15+' 而不是实现 'com.google.firebase:firebase-auth:16.1.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'
如果您的 Android Gradle 插件非常旧,即使您只使用一个 Google 库,也会发生这种情况!显然,所有 Google 库过去都需要是完全相同的版本。现在它们不需要相同,只需最新的即可。即使指定单个库,它也会引入版本不匹配的依赖项以及旧的 Android Gradle 插件。
设置较新的版本,例如:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
}
}
您可能需要更新 Gradle 才能使用更新的插件(它会告诉您)。
在我的例子中,我已经替换了我的 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'
现在好了
我有类似的问题已解决:
- 在应用级别gradle:将所有 firebase 依赖项更新到最新版本latest
- 在项目级别 gradle 中:将依赖项更新为最新的:
gms.google-services
,在我的例子中是:'com.google.gms:google-services:4.2.0'
这可以通过使用最新的依赖集来解决。
您可以在下面的网站上找到最新的
https://firebase.google.com/support/release-notes/android#20180523
Post 再次同步,应该可以正常工作
我更改了项目中的以下依赖项以使其工作。
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'
****注:
使用以下 link 更新具有依赖项的库的使用 https://firebase.google.com/docs/android/setup
当我尝试对所有内容使用相同的版本时,我遇到了类似的错误:
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.
我遇到了同样的错误,但我的情况不同我同时使用了 Audience Network 和 Firebase。
我遇到了这个错误
Android dependency 'com.google.android.gms:play-services-basement' has different version for the compile (11.0.4) and runtime (16.0.1) classpath. You should manually set the same version via DependencyResolution
如果您使用 audience-network
implementation ("com.facebook.android:audience-network-sdk:$rootProject.fb_version")
{
exclude group: 'com.google.android.gms'
}
使用更新版本的 Firebase 并避免附加功能。 这已经足够了(但是如果你需要使用存储 space 或 .. 你也应该添加它们)
//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-服务:
classpath 'com.google.gms:google-services:4.3.2'
原因
当您的一个或多个 firebase 或 google play 服务库是旧版本时会发生此错误。
解决方案
只需更新所有库到最新版本。
如果您必须使用旧版本(例如出于制裁或其他原因),请遵循以下步骤:
- 将
googleServices.disableVersionCheck = true
添加到 app/build.Gradle 文件的末尾 - 运行 项目并找到重复的库或有依赖性问题的库
- 添加它们以排除旧库。
例子
// 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'
我已经使用了所有最新的依赖项。原来我在 AndroidManifest
中缺少权限。添加此权限修复了错误:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
如他们的文档所述: https://developers.google.com/android/guides/permissions