![](/img/trans.png)
[英]how to choose the right .symbols file to deobfuscate a stacktrace from crashlytics
[英]How to deobfuscate Java stacktrace in Flutter app with Firebase Crashlytics
在我的 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 酒吧(来自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"
我该怎么做才能获得可读的堆栈跟踪?
附言。 这也非常令人困惑,因为问题似乎发生在 Dart 代码中,但我可以在堆栈跟踪中看到 Java 文件。
聚苯硫醚。 我确实配置了 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 升级到最新版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.