Open mformetal opened 1 month ago
Hello @mformetal! Sorry for the very late reply.
Can you please share which version of our SDK you are using? If it is the version above 2.9.0, can you please check that error events you see in RUM/Logs have a build_id
attribute with a value equal to the value shown in the mapping file upload?
Thanks for taking the time for reporting an issue!
Describe what happened
We're using this plugin to upload mapping files to de-obfsucate our stacktraces. I can validate that these mapping files were successfully uploaded via gradle output and when I view the RUM Debug Symbols page, but our traces are still garbled.
Steps to reproduce the issue:
We build a release application, release it, and expect to see traces on RUM de-obsfucated.
Describe what you expected:
Non-obfsucated stacktraces.
Additional context
Proguard configuration:
-keepattributes Annotation -keepattributes SourceFile,LineNumberTable -keep public class * extends java.lang.Exception
GeoComply Proguard rules
-keep class com.geocomply. { *; } -keep class com.google.* { ; } -keep class android.support. { *; }
---------------Begin: proguard configuration for Gson ----------
Gson uses generic type information stored in a class file when working with fields. Proguard
removes such information by default, so configure it to keep all of it.
-keepattributes Signature
Gson specific classes
-dontwarn sun.misc.**
Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class implements com.google.gson.TypeAdapter -keep class implements com.google.gson.TypeAdapterFactory -keep class implements com.google.gson.JsonSerializer -keep class implements com.google.gson.JsonDeserializer
Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * { @com.google.gson.annotations.SerializedName;
}
---------------End: proguard configuration for Gson ----------
-assumenosideeffects class android.util.Log { public static d(...); public static v(...); }
Navigation
-keep public class * implements android.os.Parcelable
-dontwarn org.conscrypt.Conscrypt$Version -dontwarn org.conscrypt.Conscrypt -dontwarn org.conscrypt.ConscryptHostnameVerifier -dontwarn org.openjsse.javax.net.ssl.SSLParameters -dontwarn org.openjsse.javax.net.ssl.SSLSocket -dontwarn org.openjsse.net.ssl.OpenJSSE
-keepclassmembernames class bet.thescore.android.ui.webview.WebViewEvent$RunLexisNexisProfiling { *; }
-dontwarn com.miui.referrer. -dontwarn com.samsung.android.sdk.sinstallreferrer.
Keep public ViewModel constructors
-keepclassmembers public class * extends androidx.lifecycle.ViewModel { public(...); }
org.gradle.testing.jacoco.plugins.JacocoPlugin io.gitlab.arturbosch.detekt.DetektPlugin com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsPlugin com.google.firebase.perf.plugin.FirebasePerfPlugin org.gradle.api.plugins.JvmToolchainsPlugin com.android.build.gradle.AppPlugin com.google.gms.googleservices.GoogleServicesPlugin androidx.navigation.safeargs.gradle.SafeArgsJavaPlugin com.datadog.gradle.plugin.DdAndroidGradlePlugin io.github.takahirom.roborazzi.RoborazziPlugin org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper com.adarshr.gradle.testlogger.TestLoggerPlugin org.jetbrains.kotlin.gradle.internal.ParcelizeSubplugin app.cash.paparazzi.gradle.PaparazziPlugin