proguard-rules.pro 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. -dontobfuscate
  2. -keep class eu.siacs.conversations.**
  3. -keep class org.whispersystems.**
  4. -keep class com.kyleduo.switchbutton.Configuration
  5. -keep class com.soundcloud.android.crop.**
  6. -keep class com.google.android.gms.**
  7. -keep class org.openintents.openpgp.*
  8. -dontwarn org.bouncycastle.mail.**
  9. -dontwarn org.bouncycastle.x509.util.LDAPStoreHelper
  10. -dontwarn org.bouncycastle.jce.provider.X509LDAPCertStoreSpi
  11. -dontwarn org.bouncycastle.cert.dane.**
  12. -dontwarn rocks.xmpp.addr.**
  13. -dontwarn com.google.firebase.analytics.connector.AnalyticsConnector
  14. -dontwarn java.lang.**
  15. -dontwarn javax.lang.**
  16. -keepclassmembers class eu.siacs.conversations.http.services.** {
  17. !transient <fields>;
  18. }
  19. # Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and
  20. # EnclosingMethod is required to use InnerClasses.
  21. -keepattributes Signature, InnerClasses, EnclosingMethod
  22. # Retrofit does reflection on method and parameter annotations.
  23. -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
  24. # Retain service method parameters when optimizing.
  25. -keepclassmembers,allowshrinking,allowobfuscation interface * {
  26. @retrofit2.http.* <methods>;
  27. }
  28. # Ignore annotation used for build tooling.
  29. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
  30. # Ignore JSR 305 annotations for embedding nullability information.
  31. -dontwarn javax.annotation.**
  32. # Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
  33. -dontwarn kotlin.Unit
  34. # Top-level functions that can only be used by Kotlin.
  35. -dontwarn retrofit2.KotlinExtensions
  36. -dontwarn retrofit2.KotlinExtensions$*
  37. # With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
  38. # and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
  39. -if interface * { @retrofit2.http.* <methods>; }
  40. -keep,allowobfuscation interface <1>