如何使用Firebase崩溃分析在Flutter应用程序中解混淆Java堆栈跟踪



在我的firebase控制台中,我可以看到以下崩溃:

Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: Bad state: Cannot add event after closing. Error thrown null.
at _StreamController.add(_StreamController.java:595)
at _Rb.add(_Rb.java:867)
at ._Zj(.java:1434)
at _Fc.runUnary(_Fc.java:1335)
at _Fc.fRa(_Fc.java:1244)
at _BufferingStreamSubscription._ieb(_BufferingStreamSubscription.java:341)
at _BufferingStreamSubscription._add(_BufferingStreamSubscription.java:271)
at _hc._add(_hc.java:123)
at _kc._Veb(_kc.java:253)
at _hc._Veb(_hc.java:153)
at ._Zj(.java:1434)
at _Fc.runUnary(_Fc.java:1335)
at _Fc.fRa(_Fc.java:1244)
at _BufferingStreamSubscription._ieb(_BufferingStreamSubscription.java:341)
at _BufferingStreamSubscription._add(_BufferingStreamSubscription.java:271)
at _hc._add(_hc.java:123)
at _jc._Veb(_jc.java:218)
at _hc._Veb(_hc.java:153)
at ._Zj(.java:1434)
at _Fc.runUnary(_Fc.java:1335)
at _Fc.fRa(_Fc.java:1244)
at _BufferingStreamSubscription._ieb(_BufferingStreamSubscription.java:341)
at _BufferingStreamSubscription._add(_BufferingStreamSubscription.java:271)
at _hc._add(_hc.java:123)
at _jc._Veb(_jc.java:218)
at _hc._Veb(_hc.java:153)
at ._Zj(.java:1434)
at _Fc.runUnary(_Fc.java:1335)
at _Fc.fRa(_Fc.java:1244)
at _BufferingStreamSubscription._ieb(_BufferingStreamSubscription.java:341)
at _Yb.zdb(_Yb.java:591)
at _bc.pdb(_bc.java:706)
at _Wb.tdb.<fn>(tdb.java:663)
at ._Wj(.java:1418)
at _Fc.oRa(_Fc.java:1328)
at _Fc.eRa(_Fc.java:1236)
at _Fc.jRa.<fn>(jRa.java:1276)
at ._Wj(.java:1426)
at _Fc.oRa(_Fc.java:1328)
at _Fc.eRa(_Fc.java:1236)
at _Fc.jRa.<fn>(jRa.java:1276)
at ._yj(.java:40)
at ._zj(.java:49)

我正在使用最新的Firebase pub(来自pubspec.lock):

firebase_crashlytics:
dependency: "direct main"
description:
name: firebase_crashlytics
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
firebase_crashlytics_platform_interface:
dependency: transitive
description:
name: firebase_crashlytics_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "3.2.8"

我能做什么来获得一个可读的堆栈跟踪?

p。此外,这是非常令人困惑的问题似乎发生在Dart代码,但我可以看到Java文件在堆栈跟踪..

pp。我已经配置了android项目的混淆如下:

release {
signingConfig signingConfigs.googleplaySigningConfig
minifyEnabled true
debuggable false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
firebaseCrashlytics {
mappingFileUploadEnabled true
nativeSymbolUploadEnabled true
unstrippedNativeLibsDir "build/app/intermediates/merged_native_libs/release/out/lib"
}
ndk {
debugSymbolLevel 'FULL'
}
}

Crashlytics最近增加了对使用--split-debug-info--obfuscate构建的Flutter应用程序的支持。

如果你正在使用这些参数构建应用,请尝试将Crashlytics SDK升级到最新版本。

最新更新