proguard-rules.pro 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -dontobfuscate
  2. -keep,allowoptimization class eu.kanade.**
  3. -keep,allowoptimization class tachiyomi.**
  4. # Keep common dependencies used in extensions
  5. -keep,allowoptimization class androidx.preference.** { public protected *; }
  6. -keep,allowoptimization class kotlin.** { public protected *; }
  7. -keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
  8. -keep,allowoptimization class kotlinx.serialization.** { public protected *; }
  9. -keep,allowoptimization class okhttp3.** { public protected *; }
  10. -keep,allowoptimization class okio.** { public protected *; }
  11. -keep,allowoptimization class rx.** { public protected *; }
  12. -keep,allowoptimization class org.jsoup.** { public protected *; }
  13. -keep,allowoptimization class app.cash.quickjs.** { public protected *; }
  14. -keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
  15. # From extensions-lib
  16. -keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptorKt { public protected *; }
  17. -keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptorKt { public protected *; }
  18. -keep,allowoptimization class eu.kanade.tachiyomi.network.NetworkHelper { public protected *; }
  19. -keep,allowoptimization class eu.kanade.tachiyomi.network.OkHttpExtensionsKt { public protected *; }
  20. -keep,allowoptimization class eu.kanade.tachiyomi.network.RequestsKt { public protected *; }
  21. -keep,allowoptimization class eu.kanade.tachiyomi.AppInfo { public protected *; }
  22. ##---------------Begin: proguard configuration for RxJava 1.x ----------
  23. -dontwarn sun.misc.**
  24. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  25. long producerIndex;
  26. long consumerIndex;
  27. }
  28. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  29. rx.internal.util.atomic.LinkedQueueNode producerNode;
  30. }
  31. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  32. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  33. }
  34. -dontnote rx.internal.util.PlatformDependent
  35. ##---------------End: proguard configuration for RxJava 1.x ----------
  36. ##---------------Begin: proguard configuration for kotlinx.serialization ----------
  37. -keepattributes *Annotation*, InnerClasses
  38. -dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
  39. # kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
  40. -keepclassmembers class kotlinx.serialization.json.** {
  41. *** Companion;
  42. }
  43. -keepclasseswithmembers class kotlinx.serialization.json.** {
  44. kotlinx.serialization.KSerializer serializer(...);
  45. }
  46. -keep,includedescriptorclasses class eu.kanade.**$$serializer { *; }
  47. -keepclassmembers class eu.kanade.** {
  48. *** Companion;
  49. }
  50. -keepclasseswithmembers class eu.kanade.** {
  51. kotlinx.serialization.KSerializer serializer(...);
  52. }
  53. -keep class kotlinx.serialization.**
  54. -keepclassmembers class kotlinx.serialization.** {
  55. <methods>;
  56. }
  57. ##---------------End: proguard configuration for kotlinx.serialization ----------
  58. # XmlUtil
  59. -keep public enum nl.adaptivity.xmlutil.EventType { *; }
  60. # Firebase
  61. -keep class com.google.firebase.installations.** { *; }
  62. -keep interface com.google.firebase.installations.** { *; }