mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-07-26 14:32:28 +00:00
61 lines
2.3 KiB
Prolog
61 lines
2.3 KiB
Prolog
# Project-specific ProGuard rules for composeApp Android release builds.
|
|
|
|
# Keep useful metadata for crash reports.
|
|
-keepattributes SourceFile,LineNumberTable
|
|
-renamesourcefileattribute SourceFile
|
|
|
|
# Preserve Kotlin metadata/signatures needed by reflection/generics-heavy libraries.
|
|
-keepattributes *Annotation*
|
|
-keepattributes Signature
|
|
-keepattributes InnerClasses
|
|
-keepattributes EnclosingMethod
|
|
-keepattributes RuntimeVisibleAnnotations
|
|
|
|
# Ktor / Supabase client stack (runtime reflective paths in serializers/plugins).
|
|
-keep class io.github.jan.supabase.** { *; }
|
|
-keep class io.ktor.** { *; }
|
|
-dontwarn io.ktor.**
|
|
|
|
# Keep @Serializable generated serializers.
|
|
-keepclassmembers class * {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
-keep class com.nuvio.app.features.catalog.CatalogTargetKind { *; }
|
|
|
|
# Avoid R8 merging/optimizing the stream badge chip used in lazy stream rows.
|
|
-keep class com.nuvio.app.features.streams.StreamBadgeChipKt { *; }
|
|
-keep class com.nuvio.app.features.streams.StreamBadgeChipSize { *; }
|
|
-keep class com.nuvio.app.features.streams.StreamBadgeChipDefaults { *; }
|
|
|
|
-keep class com.nuvio.app.features.streams.StreamsScreenKt { *; }
|
|
-keep class com.nuvio.app.features.streams.StreamsScreenKt$* { *; }
|
|
|
|
# Avoid R8 producing verifier-invalid bytecode for the large player composable.
|
|
-keep class com.nuvio.app.features.player.PlayerScreenKt { *; }
|
|
-keep class com.nuvio.app.features.player.PlayerScreenKt$* { *; }
|
|
|
|
# QuickJS plugin runtime is dynamic; keep runtime and app plugin classes.
|
|
-keep class com.dokar.quickjs.** { *; }
|
|
-keep class com.nuvio.app.features.plugins.** { *; }
|
|
|
|
# TorrServer based P2P streaming.
|
|
-keep class com.nuvio.app.features.p2p.** { *; }
|
|
|
|
-keep class androidx.work.impl.WorkDatabase_Impl { *; }
|
|
|
|
# Media3 / ExoPlayer classes from local AAR decoders and stock modules.
|
|
-dontwarn androidx.media3.**
|
|
-keep class androidx.media3.** { *; }
|
|
-keep interface androidx.media3.** { *; }
|
|
-keep class com.google.android.exoplayer2.** { *; }
|
|
-keep interface com.google.android.exoplayer2.** { *; }
|
|
|
|
-keep class is.xyz.mpv.** { *; }
|
|
-keep interface is.xyz.mpv.** { *; }
|
|
|
|
# Common optional security providers used by okhttp on some devices.
|
|
-dontwarn okhttp3.internal.platform.**
|
|
-dontwarn org.conscrypt.**
|
|
-dontwarn org.bouncycastle.**
|
|
-dontwarn org.openjsse.**
|