proguard-rules.pro 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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.
  4. #
  5. # For more details, see
  6. # http://developer.android.com/guide/developing/tools/proguard.html
  7. # If your project uses WebView with JS, uncomment the following
  8. # and specify the fully qualified class name to the JavaScript interface
  9. # class:
  10. #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
  11. # public *;
  12. #}
  13. # Uncomment this to preserve the line number information for
  14. # debugging stack traces.
  15. #-keepattributes SourceFile,LineNumberTable
  16. # If you keep the line number information, uncomment this to
  17. # hide the original source file name.
  18. #-renamesourcefileattribute SourceFile
  19. -dontshrink
  20. ## proguard dictionary
  21. -obfuscationdictionary proguard-dic-3.txt
  22. -renamesourcefileattribute proguard-dic-3.txt
  23. -classobfuscationdictionary proguard-dic-4.txt
  24. -packageobfuscationdictionary proguard-dic-4.txt
  25. # @Keep
  26. -keep class * {
  27. @androidx.annotation.Keep <fields>;
  28. @androidx.annotation.Keep <methods>;
  29. }
  30. ## Log
  31. -assumenosideeffects class android.util.Log {
  32. public static *** d(...);
  33. public static *** v(...);
  34. public static *** w(...);
  35. public static *** i(...);
  36. public static *** wtf(...);
  37. }
  38. -assumenosideeffects class com.atmob.common.logging.AtmobLog {
  39. public static *** d(...);
  40. public static *** v(...);
  41. public static *** w(...);
  42. public static *** i(...);
  43. public static *** wtf(...);
  44. }
  45. ## native
  46. -keepclasseswithmembernames class * {
  47. native <methods>;
  48. }
  49. ## res
  50. -keepclassmembers class **.R$* {
  51. public static <fields>;
  52. }
  53. ## ViewBinding & DataBinding
  54. -keep class * implements androidx.viewbinding.ViewBinding {
  55. public inflate(android.view.LayoutInflater);
  56. public inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean);
  57. }
  58. # common config end
  59. # RxJava start
  60. -dontwarn java.util.concurrent.Flow*
  61. # RxJava end
  62. # Glide start
  63. -keep public class * implements com.bumptech.glide.module.GlideModule
  64. -keep class * extends com.bumptech.glide.module.AppGlideModule {
  65. <init>(...);
  66. }
  67. -keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
  68. **[] $VALUES;
  69. public *;
  70. }
  71. -keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
  72. *** rewind();
  73. }
  74. # Glide end