Flutter Firebase Crashlytics сообщает о трассировке стека как файлы класса Java, а не как файлы Dart - PullRequest
1 голос
/ 19 февраля 2020

Я включил Flutter Crashlytics в наше приложение, но он сообщает о сбое трассировки стека в файлах класса Java, а не в файлах Dart. Поэтому трудно определить, что это за файл и номер строки, где эта проблема возникла в кодовой базе флаттера.

Вот пример одного такого отчета cra sh из Firebase Crashltytics исключения Uncaught:

Non-fatal Exception: java.lang.Exception: NoSuchMethodError: The method 'markNeedsBuild' was called on null.
Receiver: null
Tried calling: markNeedsBuild()
       at State.setState(State.java:1168)
       at _ArgonButtonState.initState.<fn>(initState.java:107)
       at AnimationLocalStatusListenersMixin.notifyStatusListeners(AnimationLocalStatusListenersMixin.java:193)
       at AnimationController._checkStatusChanged(AnimationController.java:773)
       at AnimationController._tick(AnimationController.java:789)
       at Ticker._tick(Ticker.java:237)
       at SchedulerBinding._invokeFrameCallback(SchedulerBinding.java:1102)
       at SchedulerBinding.handleBeginFrame.<fn>(handleBeginFrame.java:1017)
       at SchedulerBinding.handleBeginFrame(SchedulerBinding.java:1015)
       at SchedulerBinding._handleBeginFrame(SchedulerBinding.java:949)

Вот как инициализируется Crashlytics:

// Pass all uncaught errors from the framework to Crashlytics.
FlutterError.onError = Crashlytics.instance.recordFlutterError;

runZoned(() {
    runApp(AppMain(homeWidget));
  }, onError: Crashlytics.instance.recordError);

Я сообщаю о перехваченных исключениях следующим образом:

Crashlytics.instance.recordError(error, stack);

Как настроить Crashlytics для отчета о трассировке стека в дротик? Показывает ли Crashlytics ошибочные имена файлов и номера строк для исходного кода Dart?

1 Ответ

2 голосов
/ 19 февраля 2020

Тодд из Crashlytics. Это известное поведение, и мы рассматриваем возможные варианты продвижения вперед. Kotlin пользователи увидят подобное поведение.

...