proguard-rules.pro 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. -dontobfuscate
  2. -dontwarn eu.kanade.tachiyomi.**
  3. -keep class eu.kanade.tachiyomi.**
  4. -keep class eu.kanade.tachiyomi.source.model.** { *; }
  5. # Design library
  6. -dontwarn com.google.android.material.**
  7. -keep class com.google.android.material.** { *; }
  8. -keep interface com.google.android.material.** { *; }
  9. -keep public class com.google.android.material.R$* { *; }
  10. -keep class com.hippo.image.** { *; }
  11. -keep interface com.hippo.image.** { *; }
  12. -dontwarn nucleus.view.NucleusActionBarActivity
  13. # Extensions may require methods unused in the core app
  14. -keep class org.jsoup.** { *; }
  15. -keep class kotlin.** { *; }
  16. -keep class okhttp3.** { *; }
  17. -keep class com.google.gson.** { *; }
  18. -keep class com.github.salomonbrys.kotson.** { *; }
  19. # OkHttp
  20. -dontwarn okhttp3.**
  21. -dontwarn okio.**
  22. -dontwarn javax.annotation.**
  23. -dontwarn retrofit2.Platform$Java8
  24. # Glide specific rules #
  25. # https://github.com/bumptech/glide
  26. -keep public class * implements com.bumptech.glide.module.GlideModule
  27. -keep public class * extends com.bumptech.glide.AppGlideModule
  28. -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  29. **[] $VALUES;
  30. public *;
  31. }
  32. # RxJava 1.1.0
  33. -dontwarn sun.misc.**
  34. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  35. long producerIndex;
  36. long consumerIndex;
  37. }
  38. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  39. rx.internal.util.atomic.LinkedQueueNode producerNode;
  40. }
  41. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  42. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  43. }
  44. # ReactiveNetwork
  45. -dontwarn com.github.pwittchen.reactivenetwork.**
  46. ## GSON ##
  47. # Gson uses generic type information stored in a class file when working with fields. Proguard
  48. # removes such information by default, so configure it to keep all of it.
  49. -keepattributes Signature
  50. # Gson specific classes
  51. -keep class sun.misc.Unsafe { *; }
  52. # Prevent proguard from stripping interface information from TypeAdapterFactory,
  53. # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
  54. -keep class * implements com.google.gson.TypeAdapterFactory
  55. -keep class * implements com.google.gson.JsonSerializer
  56. -keep class * implements com.google.gson.JsonDeserializer
  57. # SnakeYaml
  58. -keep class org.yaml.snakeyaml.** { public protected private *; }
  59. -dontwarn org.yaml.snakeyaml.**
  60. # Duktape
  61. -keep class com.squareup.duktape.** { *; }