firebase-android-sdk: Missing class com.google.android.datatransport.runtime.ForcedSender in Crashlytics 18.3.0
- Android Studio version: Android Studio Dolphin | 2021.3.1 Patch 1
- Firebase Component: Crashlytics
- Component version: 18.3.0
Describe the problem
If a crash occurs within the Android app (e.g. by throwing a NullPointerException on the press of a button within the app), when restarting the app the app does not load and crashes due to missing the com.google.android.datatransport.runtime.ForcedSender class, which was newly added in this version.
This occurs when updating to 18.3.0, using the crashlytics dependency only.
implementation 'com.google.firebase:firebase-crashlytics:18.3.0'
I am not using the BOM dependency (so do not know if this dependency is resolved when using BOM, but it’s definitely missing for the above usage.)
I have reverted to 18.2.13 in the meantime as it is stable.
Steps to reproduce:
What happened? How can we make the problem occur? By updating to Crashlytics 18.3.0, crashing the app then trying to relaunch.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 9
- Comments: 35 (16 by maintainers)
Links to this issue
Commits related to this issue
- downgrade Crashlytics due to a known issue: https://github.com/firebase/firebase-android-sdk/issues/4223 — committed to irccloud/android by c99koder 2 years ago
@c0ff33-b34n Thanks for reporting this, version 18.3.0 of the Crashlytics Android SDK specifies an outdated version of a dependency. (You will see the same issue if you use the BoM.)
UPDATES:
firebase-crashlytics
andfirebase-crashlytics-ndk
are now available, in version 18.3.1 for both artifacts.We’re working on a fix now. In the meantime, you can either use the prior version of Crashlytics (18.2.13), or explicitly declare the missing dependency in your app’s build.gradle
</strike>dependencies
block:Could you please update the alert message in the firebase console? Currently it looks like
I guess 18.30.0 should be 18.3.0, right?
BoM 31.0.1 is now available, so Crashlytics Android SDK customers using the BoM can take the newest version instead of rolling back.
@mrichards I’ve updated and tested with com.google.firebase:firebase-crashlytics:18.3.1 and can confirm that it resolves the issue when using Crashlytics Android.
Gradle now pulls in the External Library com.google.android.datatransport:transport-runtime:3.1.8@aar containing ForcedSender.
I ran my app. Forced a crash and reloaded the app. The app no longer crashes on re-load. The crash was also received correctly in the Firebase console.
Thanks for the fast response to this issue.
Sorry for late response. Yes it’s resolved just added specific versions for app indexing
Firebase Unity 10.0.1 is now available, which resolves this issue. Crashlytics Unity customers should update to this version.
@RoarGronmo Yes, the fixed Flutter SDK was released a little while ago!
We’ve validated it, so we now recommend everyone update to firebase_crashlytics 3.0.2.
CC: @DjordjeMancic97, @alexkeramidas
Nice catch, @PhilippNowak96. I’ll inform our tech writers right away. Thanks for this!
@argzdev thank you for your update
@RoarGronmo if you want to check availability go to Google’s Maven: https://maven.google.com/web/m_index.html#com.google.firebase:firebase-bom
mvnrepository.com just gathers the data from the repos and is sometimes delayed.
We will be shipping a new version of Crashlytics that references the correct dependencies shortly. I’ll post here when we do.
To summarize the impact: The original crash report should make it through to the Crashlytics servers. The NoClassDefFoundError typically occurs in the background so it will not generally be noticeable to the end-user, though there may be circumstances where customers experience a subsequent crash due to this issue.
@worm69
firebase-core
is just an alias forfirebase-analytics
.If you use Google Analytics for Firebase or any other product that relies on it (A/B Testing for example). You can replace
firebase-core
withfirebase-analytics
. If you don’t use Analytics at all, feel free to removefirebase-core
.@argzdev There were few references of Indexing hidden in code, Removed that. Thanks for your time and inputs!