如何让 Android 和 iOS 的 Flutter App 崩溃(以测试 Firebase Crashlytics)?

How to crash Flutter App for Android and iOS (to test Firebase Crashlytics)?

我想在我的 Flutter 应用程序中使用 Firebase Crashlytics 测试崩溃报告。我需要以编程方式使我的 flutter 应用程序因 Android 和 iOS 而致命崩溃。有什么想法吗?

您应该能够通过在 Flutter 应用程序的任何位置执行此操作来抛出 Dart 异常:

throw Exception("This is a crash!");

或者使用任意对象:

throw "This is a crash!";

您可以找到有关 dart 异常的更多信息in the language tour and if you want, you can create your own custom Exception type as explained in this SO answer

如果您有 flutter_crashlytics 插件,您可以使用

进行测试
FirebaseCrashlytics.instance.crash();

整合firebase_crashlytics

 Crashlytics.instance.crash();

使用 firebase_crashlytics 插件

FirebaseCrashlytics.instance.crash();

您应该启用 crashlytics

void main() async{
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  if (kDebugMode) {
    FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);//disable false
  }else{
    FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
  }

尝试在不初始化列表的情况下添加任何值。会有一个应用程序崩溃并给出这个错误 The method 'add' was called on null.

List list;

list.add("add");

您可以通过多种方式使 Flutter 应用程序崩溃:

  1. throw(Exception('Hello Crashlytics')); 就像@Xavi Rigau 的回答
List list;

list.add("add");

就像@Paresh Mangukiya 那样。

3.

final a = [12];
print(a[1]);

但是有 2 重要 你应该考虑的事情:

  • 您应该 运行 您的应用处于发布模式,例如使用命令 flutter run --release
  • 在 Crashlytycs 控制台中,默认情况下仅显示致命崩溃。上面的崩溃是非致命的崩溃。因此,您应该清除过滤器以查看所有崩溃类型。 (可以通过单击过滤器附近的 (x) 按钮在 crashlytics 仪表板中过滤过滤器)。更多相关信息,您可以阅读

看看这个。这是来自官方文档。 https://firebase.flutter.dev/docs/crashlytics/usage

根据 crashlytics 的文档正确配置后,FirebaseCrashlytics.instance.crash();会使应用程序崩溃。