# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile -ignorewarnings -optimizationpasses 10 -dontusemixedcaseclassnames -dontoptimize -verbose -overloadaggressively -allowaccessmodification -adaptclassstrings -adaptresourcefilenames -adaptresourcefilecontents -renamesourcefileattribute P -keepattributes SourceFile,Signature,LineNumberTable ## ---------------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. # Explicitly preserve all serialization members. The Serializable interface # is only a marker interface, so it wouldn't save them. -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } # Gson specific classes -dontwarn sun.misc.** -keep class com.google.gson.stream.** { *; } # Prevent R8 from leaving Data object members always null -keepclassmembers,allowobfuscation class * { @com.google.gson.annotations.SerializedName ; } # Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken -keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken ## ---------------End: proguard configuration for Gson ---------- -assumenosideeffects class kotlin.jvm.internal.Intrinsics { public static *** throwUninitializedProperty(...); public static *** throwUninitializedPropertyAccessException(...); } -keep class * extends android.app.Activity -keep class * implements androidx.viewbinding.ViewBinding { (); *** inflate(android.view.LayoutInflater); }