R8 / ProGuard

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
Forward Arrow