proguard-rules.pro 3.3 KB

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