首页 > 解决方案 > 即使降级版本,Firebase crashlytics 也无法构建

问题描述

我们在我们的应用程序中使用 Firebase,而我们仍在支持库 28 Not AndoridX 上。我设法添加了分析和性能监控,并且在研究了与 support-lib 28 兼容的合适版本后它们工作正常。

现在我正在尝试添加 crashlytics,并且从17.0.0一直到2.9.8的每个 lib 版本都出现构建错误

使用 2.9.8 它得到:

ERROR: Failed to resolve: com.google.firebase:firebase-crashlytics:2.9.8
Show in Project Structure dialog
Affected Modules: app

使用 17.0.0 我得到:

ERROR: Failed to resolve: com.google.firebase:firebase- 
crashlytics:com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension_Decorated
Show in Project Structure dialog
Affected Modules: app

我的项目 build.gradle:

buildscript {
    ext.kotlin_version = '1.3.60'
    repositories {
        google()
        maven { url "http://dl.bintray.com/populov/maven" }
        jcenter()
    }
    ext {

        firebaseAnalytics = "16.3.0" //Firebase SDK for Google Analytics compatible with support lib
        firebasePerformanceMonitoring = "17.0.2" //Firebase SDK for performance monitoring compatible with support lib
        firebaseCrashlytics = "17.0.0" //Firebase Crashlytics
    }
    dependencies {

        classpath 'com.android.tools.build:gradle:3.6.1'
        classpath 'com.google.gms:google-services:4.3.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.firebase:perf-plugin:1.3.1'  // Performance Monitoring plugin
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.0.0' // Crashlytics Gradle plugin.

    }
}

allprojects {

    repositories {
        maven {
            url "https://maven.google.com"
        }
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
        jcenter()
        google()
    }
}

app 模块 build.gradle 依赖块:

dependencies {

      def supportLib_version = "28.0.0"

      implementation "com.android.support:support-v4:$supportLib_version"
      implementation "com.android.support:recyclerview-v7:$supportLib_version"
      implementation "com.android.support:design:$supportLib_version"

       ........


      implementation "com.google.firebase:firebase-analytics:$firebaseAnalytics"
      implementation "com.google.firebase:firebase-perf:$firebasePerformanceMonitoring"
      implementation "com.google.firebase:firebase-crashlytics:$firebaseCrashlytics"
   }

虽然有些人可能会建议我们将项目迁移到 AndroidX,但这是一个包含许多库的大项目,而且我不是唯一致力于此的开发人员,因此 IMT 不可行

标签: androidfirebaseandroid-support-librarycrashlyticsfirebase-performance

解决方案


Fabric/Firebaser here - 我认为总体而言,该项目中存在一些不正确的版本控制和依赖项集成,这会导致问题。

遗憾的是,在升级到 Android X 之前,您将无法使用 Firebase Crashlytics,因为它是此处所述的 Firebase Crashlytics SDK 的依赖项。

但是,您仍然可以在 Firebase 中使用旧版 Fabric Crashlytics SDK,您可以在此处找到相关说明:https ://firebase.google.com/docs/crashlytics/get-started?platform=android 。我建议取出您迄今为止尝试集成的任何 Crashlytics 设置,并按照那里的说明进行操作。对于它的价值,看起来你的版本控制错误,因为这个版本不存在:

com.google.firebase:firebase-crashlytics:2.9.8

firebase-crashltyics 只有 17.0.0 及更高版本。2.9.8 是我们前面提到的旧版 Fabric Crashlytics SDK 的一个版本,因此您希望使用这样的东西:

com.crashlytics.sdk.android:crashlytics:2.10.1

希望这可以帮助 :)


推荐阅读