If you are using R8 the shrinking and obfuscation rules are included automatically.
ProGuard users must manually add the options to local proguard-rules.pro
file.
### kotlinx-serialization
-keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.AnnotationsKt
-keep class com.storyteller.domain.ClientAdKt {*;}
-keepclassmembers class kotlinx.serialization.json.** {
*** Companion;
}
-keepclasseswithmembers class kotlinx.serialization.json.** {
kotlinx.serialization.KSerializer serializer(...);
}
#serialization com.storyteller
-keep,includedescriptorclasses class com.storyteller.**$$serializer { *; }
-keepclassmembers class com.storyteller.** {
*** Companion;
}
-keepclasseswithmembers class com.storyteller.** {
kotlinx.serialization.KSerializer serializer(...);
}
###ok http
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform
-dontwarn org.conscrypt.ConscryptHostnameVerifier