Android Gradle:所有 gms/firebase 库必须使用完全相同的版本规范(混合版本会导致运行时崩溃)

Android Gradle: All gms/firebase libraries must use the exact same version specification (mixing versions can lead to runtime crashes)

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

   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。

我已经搜索并尝试了这个类似标题的相关questions/answers,但没有人能工作。

下面列出了依赖项。在我使用所有版本 11.8.0 之前运行良好。 Performance SDK 要我使用 firebase-perf:16.2.3 并开始出现此问题。虽然我都改成了16.x.x,还是没修好。我想知道它是否需要所有这些都在同一个颠覆中?但这是不可能的,因为我已经尝试过其中很多都缺乏很多颠覆。例如如果使用所有版本 16.0.0,其中一些会出现 "Failed to resolve:...".

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
}

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

尝试了很多小时后,恰好在以下修改上起作用。 特别是'com.google.android.gms:play-services-ads:16.0.0'需要"(",")",否则冲突不会消失!

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

compile ('com.google.firebase:firebase-core:16.0.7'){exclude group: "com.google.android.gms"}
compile ('com.google.firebase:firebase-ads:16.0.1'){exclude group: "com.google.android.gms"}
compile ('com.google.firebase:firebase-auth:16.1.0'){exclude group: "com.google.android.gms"}
compile ('com.google.firebase:firebase-crash:16.2.1'){exclude group: "com.google.android.gms"}
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.0.0'  //if using 16.2.3, sometime the app crashes as soon as it starts. 
                                                       //Below post reported that some other bug from firebase-perf:16.1.0
                                                         //