Crashlytics Fabric.io 已弃用

Posted

技术标签:

【中文标题】Crashlytics Fabric.io 已弃用【英文标题】:Crashlytics Fabric.io deprecated 【发布时间】:2020-03-21 18:00:45 【问题描述】:

有谁知道在android 应用程序中使用Firebase 实现Crash report 的正确方法是什么?

我已经阅读了Firebase crashlytics 文档中提到的实现Fabric.ioFabric.io 已弃用,并且在文档中提到删除了 fabric.io 依赖项。

Firebase https://firebase.google.com/docs/crashlytics/get-started?platform=android

Fabric.io reference https://docs.fabric.io/android/examples/sampleapp/index.html

如果没有 fabric.io 依赖,我会遇到错误

java.lang.RuntimeException:无法获取提供程序 com.crashlytics.android.CrashlyticsInitProvider:io.fabric.sdk.android.services.concurrency.UnmetDependencyException:缺少 Crashlytics 构建 ID。当您的应用的构建配置中缺少 Crashlytics 工具时,就会发生这种情况。请查看 Crashlytics 入职说明并确保您拥有有效的 Crashlytics 帐户。`

注意: 请比较两个参考中的步骤,我已经浏览了所有链接,但没有找到正确的方法,这就是我在这里询问的原因。

我确信没有 1 人会通过链接,这就是为什么投反对票很棒。我已附上 Firebase 和 Fabric.io 文档步骤屏幕

【问题讨论】:

我的问题是从没有 Fabric.io 的全新集成开始,所以我不需要进行迁移 您是否按照您发布的 firebase 链接中的步骤操作? 当您不必进行迁移时会更简单..只需按照您发布的链接..您只需在控制台中创建一个项目并放置google-services.json文件在您的本地项目中(遵循其余步骤).. @sanjeev 你不明白这个问题。我的问题是 Firebase 说集成 fabric.io 和 Fabric.io 文档说不要的正确方法是什么 @Pratik 他们已将所有内容从控制台中移出,但尚未从fabric.io 中完全删除。在 Google 中发生的类似事情是 GoogleAnalytics 被迁移 FirebaseAnalytics。虽然所有内容都已迁移,但他们尚未将其从 Fabric 中删除 【参考方案1】:

迟到

这里是解决办法,首先去掉fabric.io相关的所有参考和代码。

在主要的 gradle.build 项目级别

buildscript 
  ext.kotlin_version = '1.4.0'
  repositories 
    google()
    jcenter()
  
  dependencies 
    classpath 'com.android.tools.build:gradle:4.0.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // Add this line
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
  

接下来,在 build.gradle 应用级别

apply plugin: 'com.google.firebase.crashlytics' // add this line at top

在依赖区

dependencies 
 implementation 'com.google.firebase:firebase-crashlytics:17.2.2' // add this line

【讨论】:

【参考方案2】:

如果您真的想从您的应用中移除 Fabric SDK 并使用 Firebase SDK,请关注Upgrade to the Firebase Crashlytics SDK

本指南介绍了如何从 Fabric Crashlytics SDK 升级到新的 SDK。它描述了新 API 带来的更改、更改的原因以及如何更新您的代码(如果需要)。

docs.fabric.io你可以得到以下信息,所以我不知道你为什么有这么多反对票,这是一个合法的问题恕我直言。也许是因为你自己没有像我在这里那样做这项研究。

在宣布弃用日期之前,您可以继续在您的应用中使用 Fabric Crashlytics SDK。 一旦宣布 Fabric Crashlytics SDK 弃用日期,您将需要升级到新的 Firebase Crashlytics SDK。 仍在使用 Fabric Crashlytics SDK 的旧版本应用在弃用后不会中断,但它们不会中断不再提交崩溃报告。

但它似乎会在此日期之后继续正常工作,直至另行通知。保持原样。

【讨论】:

【参考方案3】:

你在说这个吗?

apply plugin: 'io.fabric'

根据here中的文档,

Crashlytics 已集成到 Firebase 中,新的 Firebase 专用 特征。新应用应使用 Firebase 中的 Crashlytics 来访问 最新的更新和功能。 Fabric Crashlytics 和 Fabric 现有用户可在 2020 年 3 月 31 日之前使用仪表板。

我的猜测是,它可能是 - 我们称之为宽限期 ;) 直到所有其他用户迁移它并且他们从 Fabric 迁移所有其他 工具

到 2020 年 3 月 31 日,与 Fabric 相关的所有内容都可能会被移除。希望我回答了你所说的。

【讨论】:

我希望您现在通过链接或再次参考我的问题并比较步骤【参考方案4】:

其中一个问题是 Google 页面省略了英语以外的其他语言的 android 教程。 (它可以通过错误发生。它发生在我身上。) 好的...我对 Crashlytics 不是很有经验,并且希望进行迁移,我遇到了您展示的这些链接,我也很困惑。 但据我了解,Fabric Crashlytics 被收购并合并到 Firebase 中,所以第一个教程很旧,当时需要 Fabric 库在 Firebase 中实现 Crashlytics。 第二个教程似乎不想指定将实现哪些新库。 我发现的最好的教程是这样的: 官方: https://firebase.google.cn/docs/crashlytics/upgrade-sdk?platform=android#kotlin+ktx_5 要么: https://medium.com/@onkart10/migrating-from-fabric-to-firebase-crashlytics-e8819933c484

我希望它可以帮助其他人。

【讨论】:

以上是关于Crashlytics Fabric.io 已弃用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Fabric.io 中初始化 Crashlytics?

Fabric.io Crashlytics 和 Answers 初始化

从 fabric.io crashlytics 仪表板查找确切的崩溃时间

如何安装 Fabric 和 Crashlytics

如何在 iOS 中使用 Crashlytics 而不使用 Fabric

使用 firebase-crashlytics-gradle 的 Crashlytics 上传失败