-dontobfuscate #################################################################################################### # Sentry #################################################################################################### # Recommended config via https://docs.sentry.io/clients/java/modules/android/#manual-integration # Since we don't obfuscate, we don't need to use their Gradle plugin to upload ProGuard mappings. -keepattributes LineNumberTable,SourceFile -dontwarn org.slf4j.** -dontwarn javax.** # Our addition: this class is saved to disk via Serializable, which ProGuard doesn't like. # If we exclude this, upload silently fails (Sentry swallows a NPE so we don't crash). # I filed https://github.com/getsentry/sentry-java/issues/572 # # If Sentry ever mysteriously stops working after we upgrade it, this could be why. -keep class io.sentry.event.Event { *; } #################################################################################################### # Android and GeckoView built-ins #################################################################################################### -dontwarn android.** -dontwarn androidx.** -dontwarn com.google.** -dontwarn org.mozilla.geckoview.** #################################################################################################### # Kotlinx #################################################################################################### -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} -keepclassmembernames class kotlinx.** { volatile ; }