首页 > 解决方案 > Android Gradle:所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)

问题描述

我正在尝试集成 Firebase 性能 SDK。它在此行上发生此冲突(Analysis 标记为红线)并在启动应用程序后崩溃:

   compile 'com.google.android.gms:play-services-ads:16.0.0'

所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本 17.1.0、17.0.5、17.0.3、17.0.1、16.3.0、16.2.3、16.2.1、16.1.0、16.0.7、16.0.3、16.0.1、16.0.0。

我已经搜索并尝试了这个类似标题的相关问题/答案,但没有人可以工作。

下面列出了依赖项。在我使用所有版本 11.8.0 之前运行良好。Performance SDK 希望我使用 firebase-perf:16.2.3 并引发此问题。即使我将它们全部修改为 16.xx,它仍然无法修复。我想知道它是否需要所有相同的颠覆?但这无法完成,因为我尝试过其中许多缺乏很多颠覆。例如,如果使用所有版本 16.0.0,其中一些会出现“无法解析:...”。

build.gradle(模块:应用程序)

compile 'com.google.android.gms:play-services-ads:16.0.0'
compile 'com.google.firebase:firebase-core:16.0.7'
compile 'com.google.firebase:firebase-ads:16.0.1'
compile 'com.google.firebase:firebase-auth:16.1.0'
compile 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-config:16.3.0'
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-perf:16.2.3'

build.gradle(项目:xxxx)

    dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.google.gms:google-services:4.0.2'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
    classpath 'io.fabric.tools:gradle:1.25.4'   //for crashlytics
    classpath 'com.google.firebase:firebase-plugins:1.1.5'  //for performance
}

标签: androidfirebasegradlegoogle-play-services

解决方案


如果您使用的是 Android Studio:打开 Gradle 文件后,您应该能够看到一些库被标记为黄色,如果您将鼠标悬停在它们上方,则会弹出一个显示哪些是最新版本的弹出窗口,因此您可以从替换所有库开始他们使用最新版本。之后清理和重建项目可能会有所帮助。


推荐阅读