Binding libraries like Crashlytics use Throwable, which which leads to unusable logs #9442
Labels
Area: Mono.Android
Issues with the Android API binding (Mono.Android.dll).
Milestone
Android framework version
net8.0-android
Affected platform version
Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.11.5
Description
I initially opened this issue in the AndroidX bindings but was told that here would be a better place for this issue. (see dotnet/android-libraries#1011)
The main issue is that Crashlytics uses
Java.Lang.Throwable
. To convert our exceptions to this type we can useJava.Lang.Throwable.FromException
. However, the resulting crash logs are pretty hard to read and use compared to when we were using AppCenter (to be deprecated in 2025). On top of that inner exceptions are not even displayed, so for some issues it's impossible to know what actually happened.Given the deprecation of AppCenter and Firebase being the logical alternative (other than sentry), it feels like a big downgrade to not be able to get proper readable logs.
I believe this could improve a lot and make Crashlytics more useful if it was solved at the .net android level
Steps to Reproduce
Did you find any workaround?
You have some control over managed crashes by preparing the throwable a bit better, but unmanaged crashes are directly handled by Firebase, which doesn't leave us any way to improve it
Relevant log output
Looking at the whole crashlytics log, there is no reference at
EnableKeyboard
function, which is the one that threw the errorThe text was updated successfully, but these errors were encountered: