proguard-rules.pro 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. -dontobfuscate
  2. -keep class eu.kanade.tachiyomi.**
  3. -keep class eu.kanade.tachiyomi.source.model.** { *; }
  4. -keep class com.hippo.image.** { *; }
  5. -keep interface com.hippo.image.** { *; }
  6. # OkHttp
  7. -keepattributes Signature
  8. -keepattributes *Annotation*
  9. -keep class okhttp3.** { *; }
  10. -keep interface okhttp3.** { *; }
  11. -dontwarn okhttp3.**
  12. -dontwarn okio.**
  13. # Okio
  14. -keep class sun.misc.Unsafe { *; }
  15. -dontwarn java.nio.file.*
  16. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
  17. -dontwarn okio.**
  18. # Glide specific rules #
  19. # https://github.com/bumptech/glide
  20. -keep public class * implements com.bumptech.glide.module.GlideModule
  21. -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  22. **[] $VALUES;
  23. public *;
  24. }
  25. # RxJava 1.1.0
  26. -dontwarn sun.misc.**
  27. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  28. long producerIndex;
  29. long consumerIndex;
  30. }
  31. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  32. rx.internal.util.atomic.LinkedQueueNode producerNode;
  33. }
  34. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  35. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  36. }
  37. # Retrofit 2.X
  38. ## https://square.github.io/retrofit/ ##
  39. -dontwarn retrofit2.**
  40. -keep class retrofit2.** { *; }
  41. -keepattributes Signature
  42. -keepattributes Exceptions
  43. -keepclasseswithmembers class * {
  44. @retrofit2.http.* <methods>;
  45. }
  46. # AppCombat
  47. -keep public class android.support.v7.widget.** { *; }
  48. -keep public class android.support.v7.internal.widget.** { *; }
  49. -keep public class android.support.v7.internal.view.menu.** { *; }
  50. -keep public class * extends android.support.v4.view.ActionProvider {
  51. public <init>(android.content.Context);
  52. }
  53. # ReactiveNetwork
  54. -dontwarn com.github.pwittchen.reactivenetwork.**
  55. ## GSON ##
  56. # Gson uses generic type information stored in a class file when working with fields. Proguard
  57. # removes such information by default, so configure it to keep all of it.
  58. -keepattributes Signature
  59. # For using GSON @Expose annotation
  60. -keepattributes *Annotation*
  61. # Gson specific classes
  62. -keep class sun.misc.Unsafe { *; }
  63. #-keep class com.google.gson.stream.** { *; }
  64. # Application classes that will be serialized/deserialized over Gson
  65. -keep class com.google.gson.examples.android.model.** { *; }
  66. # Prevent proguard from stripping interface information from TypeAdapterFactory,
  67. # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
  68. -keep class * implements com.google.gson.TypeAdapterFactory
  69. -keep class * implements com.google.gson.JsonSerializer
  70. -keep class * implements com.google.gson.JsonDeserializer
  71. # SnakeYaml
  72. -keep class org.yaml.snakeyaml.** { public protected private *; }
  73. -keep class org.yaml.snakeyaml.** { public protected private *; }
  74. -dontwarn org.yaml.snakeyaml.**
  75. # Duktape
  76. -keep class com.squareup.duktape.** { *; }