proguard-rules.pro 2.9 KB

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