【问题标题】:How to crash Flutter App for Android and iOS (to test Firebase Crashlytics)?如何使 Android 和 iOS 的 Flutter App 崩溃(以测试 Firebase Crashlytics)?
【发布时间】:2019-09-01 00:01:08
【问题描述】:

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

【问题讨论】:

    标签: firebase flutter dart crashlytics


    【解决方案1】:

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

    FirebaseCrashlytics.instance.crash();
    

    【讨论】:

    • 我已经尝试过了,但没有以其他方式在 Firebase 控制台中显示任何崩溃?
    • 我们想发送关于我们自己造成的崩溃的信息,而不是包。我们怎样才能做到这一点?
    【解决方案2】:

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

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

    或者通过使用任意对象:

    throw "This is a crash!";
    

    您可以找到有关 dart 异常 in the language tour 的更多信息,如果需要,您可以创建自己的自定义异常类型,如 this SO answer 中所述

    【讨论】:

    • 通过抛出这种异常应用程序不会崩溃但会在屏幕上显示异常。
    • @BrindaRathod 你是对的,这不应该是批准的答案,因为它令人困惑......
    【解决方案3】:

    整合firebase_crashlytics

     Crashlytics.instance.crash();
    

    【讨论】:

      【解决方案4】:

      使用 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);
        }
      

      【讨论】:

        【解决方案5】:

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

        List list;
        
        list.add("add");
        

        【讨论】:

          【解决方案6】:

          您可以通过多种方式使 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 仪表板中过滤过滤器)。更多关于这方面的内容,您可以阅读this SO answer

          【讨论】:

            【解决方案7】:

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

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

            【讨论】:

              猜你喜欢
              • 2019-02-17
              • 2019-07-17
              • 1970-01-01
              • 2020-04-06
              • 2021-05-26
              • 2019-12-20
              • 1970-01-01
              • 1970-01-01
              • 2020-02-15
              相关资源
              最近更新 更多