proguard-rules.pro 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # Add project specific ProGuard rules here.
  2. # You can control the set of applied configuration files using the
  3. # proguardFiles setting in build.gradle.kts.kts.
  4. #
  5. # For more details, see
  6. # http://developer.android.com/guide/developing/tools/proguard.html
  7. -dontobfuscate
  8. # Required for serialization to work properly
  9. -if @kotlinx.serialization.Serializable class **
  10. -keepclassmembers class <1> {
  11. static <1>$Companion Companion;
  12. }
  13. -if @kotlinx.serialization.Serializable class ** {
  14. static **$* *;
  15. }
  16. -keepclassmembers class <2>$<3> {
  17. kotlinx.serialization.KSerializer serializer(...);
  18. }
  19. -if @kotlinx.serialization.Serializable class ** {
  20. public static ** INSTANCE;
  21. }
  22. -keepclassmembers class <1> {
  23. public static <1> INSTANCE;
  24. kotlinx.serialization.KSerializer serializer(...);
  25. }
  26. # This required for the process runtime.
  27. -keep class app.revanced.manager.patcher.runtime.process.* {
  28. *;
  29. }
  30. # Required for the patcher to function correctly
  31. -keep class app.revanced.patcher.** {
  32. *;
  33. }
  34. -keep class brut.** {
  35. *;
  36. }
  37. -keep class org.xmlpull.** {
  38. *;
  39. }
  40. -keep class kotlin.** {
  41. *;
  42. }
  43. -keep class org.jf.** {
  44. *;
  45. }
  46. -keep class com.android.** {
  47. *;
  48. }
  49. -keep class app.revanced.manager.plugin.** {
  50. *;
  51. }
  52. -dontwarn com.google.auto.value.**
  53. -dontwarn java.awt.**
  54. -dontwarn javax.**
  55. -dontwarn org.slf4j.**
  56. -dontwarn it.skrape.fetcher.*
  57. -dontwarn com.google.j2objc.annotations.*
  58. -keepattributes RuntimeVisibleAnnotations,AnnotationDefault