Integration
sentry-android
Build System
Gradle
AGP Version
9.3.1
Proguard
Enabled
Other Error Monitoring Solution
Firebase Crashlytics
Version
8.53.0
Steps to Reproduce
- Build a release app minified by R8 with default settings, so most classes are repackaged into the default (root) package (e.g.
class sf2 with no package).
- Upload the ProGuard mapping; confirm the event association works (the event's
debug_meta contains the mapping's proguard UUID).
- Enable ANR reporting via
AnrV2Integration (AppExitInfo).
- Trigger an ANR so the OS records a thread dump, then relaunch the app so the SDK parses the dump and sends the ANR event.
Expected Result
Frames for default-package classes carry module = "sf2", matching the mapping's key, so server-side ProGuard symbolication deobfuscates them.
Actual Result
Frames carry the literal string module = "null.sf2", symbolication looks up null.sf2 in a mapping keyed by sf2, misses, and every app frame in the event stays obfuscated even though the correct mapping is uploaded and referenced. Culprits render as e.g. null.mz3 in K.
Integration
sentry-android
Build System
Gradle
AGP Version
9.3.1
Proguard
Enabled
Other Error Monitoring Solution
Firebase Crashlytics
Version
8.53.0
Steps to Reproduce
class sf2with no package).debug_metacontains the mapping's proguard UUID).AnrV2Integration(AppExitInfo).Expected Result
Frames for default-package classes carry
module = "sf2", matching the mapping's key, so server-side ProGuard symbolication deobfuscates them.Actual Result
Frames carry the literal string
module = "null.sf2", symbolication looks upnull.sf2in a mapping keyed bysf2, misses, and every app frame in the event stays obfuscated even though the correct mapping is uploaded and referenced. Culprits render as e.g.null.mz3 in K.