proguard-rules.pro 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. -dontobfuscate
  2. # Keep common dependencies used in extensions
  3. -keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; }
  4. -keep,allowoptimization class androidx.preference.** { *; }
  5. -keep,allowoptimization class kotlin.** { public protected *; }
  6. -keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
  7. -keep,allowoptimization class kotlinx.serialization.** { public protected *; }
  8. -keep,allowoptimization class okhttp3.** { public protected *; }
  9. -keep,allowoptimization class okio.** { public protected *; }
  10. -keep,allowoptimization class rx.** { public protected *; }
  11. -keep,allowoptimization class org.jsoup.** { public protected *; }
  12. -keep,allowoptimization class com.squareup.duktape.** { public protected *; }
  13. -keep,allowoptimization class app.cash.quickjs.** { public protected *; }
  14. -keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
  15. # Avoid optimizations, including access modification
  16. -keep class * { <fields>; <methods>; }
  17. ##---------------Begin: proguard configuration for RxJava 1.x ----------
  18. -dontwarn sun.misc.**
  19. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  20. long producerIndex;
  21. long consumerIndex;
  22. }
  23. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  24. rx.internal.util.atomic.LinkedQueueNode producerNode;
  25. }
  26. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  27. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  28. }
  29. -dontnote rx.internal.util.PlatformDependent
  30. ##---------------End: proguard configuration for RxJava 1.x ----------
  31. ##---------------Begin: proguard configuration for kotlinx.serialization ----------
  32. -keepattributes *Annotation*, InnerClasses
  33. -dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
  34. # kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
  35. -keepclassmembers class kotlinx.serialization.json.** {
  36. *** Companion;
  37. }
  38. -keepclasseswithmembers class kotlinx.serialization.json.** {
  39. kotlinx.serialization.KSerializer serializer(...);
  40. }
  41. -keep,includedescriptorclasses class eu.kanade.tachiyomi.**$$serializer { *; }
  42. -keepclassmembers class eu.kanade.tachiyomi.** {
  43. *** Companion;
  44. }
  45. -keepclasseswithmembers class eu.kanade.tachiyomi.** {
  46. kotlinx.serialization.KSerializer serializer(...);
  47. }
  48. -keep class kotlinx.serialization.**
  49. -keepclassmembers class kotlinx.serialization.** {
  50. <methods>;
  51. }
  52. ##---------------End: proguard configuration for kotlinx.serialization ----------