如何在 Flutter 中报告静默崩溃

How to report Silent Crashes in Flutter

我们的应用程序使用 Firebase Crashlytics 和 Sentry 来跟踪所有崩溃。我们已经用崩溃处理覆盖了我们所有的 dart 代码,但注意到在某些情况下崩溃来自本机代码,这意味着它们不会被我们的捕获器捕获。

例如,我们最近遇到了一个问题,我们的一张图片意外以非常高分辨率发布,导致内存问题和应用程序崩溃,但没有任何报告。

由于用户的反馈以及它很容易重现这一事实,我们能够了解并修复它,但我们宁愿对此类崩溃进行某种形式的报告。

您尝试过捕获 NDK 崩溃吗? Crashlytics 支持它

Firebase Crashlytics 也可以发现这些错误。 按照包设置指南中的所有步骤进行操作。 https://pub.dev/packages/firebase_crashlytics

引用指南

Crashlytics.instance.recordFlutterError 覆盖 FlutterError.onError 将自动捕获从 Flutter 框架内抛出的所有错误。 如果你想捕获发生在runZoned的错误,你可以提供Crashlytics.instance.recordError到onError参数:

runZoned<Future<void>>(() async {
    // ...
  }, onError: Crashlytics.instance.recordError);