123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # 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
- # Keep `Companion` object fields of serializable classes.
- # This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
- -if @kotlinx.serialization.Serializable class **
- -keepclassmembers class <1> {
- static <1>$Companion Companion;
- }
- # Keep `serializer()` on companion objects (both default and named) of serializable classes.
- -if @kotlinx.serialization.Serializable class ** {
- static **$* *;
- }
- -keepclassmembers class <2>$<3> {
- kotlinx.serialization.KSerializer serializer(...);
- }
- # Keep `INSTANCE.serializer()` of serializable objects.
- -if @kotlinx.serialization.Serializable class ** {
- public static ** INSTANCE;
- }
- -keepclassmembers class <1> {
- public static <1> INSTANCE;
- kotlinx.serialization.KSerializer serializer(...);
- }
- # @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
- -keepattributes RuntimeVisibleAnnotations,AnnotationDefault
|