-keepclasseswithmembers public class MainKt { public static void main(java.lang.String[]); } -dontwarn kotlinx.coroutines.debug.* -keep class kotlin.** { *; } -keep class kotlinx.coroutines.** { *; } -keep class org.jetbrains.skia.** { *; } -keep class org.jetbrains.skiko.** { *; } -assumenosideeffects public class androidx.compose.runtime.ComposerKt { void sourceInformation(androidx.compose.runtime.Composer,java.lang.String); void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String); void sourceInformationMarkerEnd(androidx.compose.runtime.Composer); } # Ktor -keep class io.ktor.** { *; } -keepclassmembers class io.ktor.** { volatile ; } -keep class io.ktor.client.engine.cio.** { *; } -keep class kotlinx.coroutines.** { *; } -dontwarn kotlinx.atomicfu.** -dontwarn io.netty.** -dontwarn com.typesafe.** -dontwarn org.slf4j.** -dontwarn io.ktor.** # Obfuscation breaks coroutines/ktor for some reason -dontobfuscate -keep public class Main { public void keptByKeepRule(...); } -keepclassmembernames public class Main { *; } -keep class org.jetbrains.** {*;} -dontwarn org.jetbrains.** # vlcj -dontwarn uk.co.caprica.vlcj.** # okhttp # 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. -adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz # 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 and other security providers are available. -dontwarn okhttp3.internal.platform.** -dontwarn org.conscrypt.** -dontwarn org.bouncycastle.** -dontwarn org.openjsse.**