代码之家  ›  专栏  ›  技术社区  ›  Fisher

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

  •  1
  • Fisher  · 技术社区  · 7 年前

    我正在尝试集成FireBase性能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。

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

    依赖项如下所示。在我使用所有11.8.0版本之前,它工作得很好。PerformanceSDK希望我使用FireBase Perf:16.2.3,它启动了这个问题。即使我把它们全部修改为16.x.x,它仍然无法修复。我想知道,它是否需要所有的人在所有相同的颠覆?但这是做不到的,因为我试过他们中的许多缺乏很多颠覆。例如,如果使用所有版本16.0.0,其中一些将出现“未能解析…”。

    build.gradle(模块:app)

    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
    }
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Juan Franco    7 年前

    如果您使用的是android studio:Gradle文件打开后,您应该能够看到一些库标记为黄色,如果您将鼠标悬停在它们上面,会弹出一个最新版本的显示,这样您就可以开始用最新版本替换所有库。在那之后,清理和重建项目可能会有所帮助。

        2
  •  0
  •   Fisher    7 年前

    在尝试了很多小时之后,它碰巧在下面的修改上工作。 尤其是“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"}