ProGuard & DexGuard
If you want to see de-obfuscated stack traces, you'll need to use ProGuard with Sentry. To do so, upload the ProGuard mapping files by either the recommended method of using our Gradle integration or manually by using sentry-cli.
It works the same either way. A (random) UUID will be or has to be generated and placed into the
AndroidManifest.xml. The same UUID has to be used to upload the mapping file(s). In case a crash happens in the app, the Sentry Android SDK will send the UUID along with the stacktrace to the Sentry server instance. Sentry will then de-obfuscate the stacktrace by searching for the associated mapping file with the same UUID.
Support for Guardsquare's ProGuard and DexGuard was added in version 3.0.0 of the Sentry Android Gradle Plugin.
The Android SDK ships with ProGuard rules automatically defined; no further configuration is needed.
If you have an deobfuscated build, the Android SDK will automatically set all frames coming from the app as in-app, based on the
applicationId/packageName. This is not possible on the client side for obfuscated builds. However, you can define server-side rules for identifying the in-app frames, for example:
For more information see StackTrace Rules.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").