proguard-rules.pro 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. # AGP 8.x 警告生成
  2. # Please add these rules to your existing keep rules in order to suppress warnings.
  3. # This is generated automatically by the Android Gradle plugin.
  4. -dontwarn dalvik.system.VMStack
  5. -dontwarn javax.lang.model.element.Element
  6. -dontwarn org.bouncycastle.jsse.BCSSLParameters
  7. -dontwarn org.bouncycastle.jsse.BCSSLSocket
  8. -dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
  9. -dontwarn org.conscrypt.Conscrypt$Version
  10. -dontwarn org.conscrypt.Conscrypt
  11. -dontwarn org.conscrypt.ConscryptHostnameVerifier
  12. -dontwarn org.openjsse.javax.net.ssl.SSLParameters
  13. -dontwarn org.openjsse.javax.net.ssl.SSLSocket
  14. -dontwarn org.openjsse.net.ssl.OpenJSSE
  15. # R8的
  16. # Please add these rules to your existing keep rules in order to suppress warnings.
  17. # This is generated automatically by the Android Gradle plugin.
  18. -dontwarn android.os.SystemProperties
  19. -dontwarn org.slf4j.impl.StaticLoggerBinder
  20. -dontwarn reactor.blockhound.integration.BlockHoundIntegration
  21. #-----------基本配置--------------
  22. # 代码混淆压缩比,在0~7之间,默认为5,一般不需要改
  23. -optimizationpasses 5
  24. # 混淆时不使用大小写混合,混淆后的类名为小写
  25. -dontusemixedcaseclassnames
  26. # 指定不去忽略非公共的库的类
  27. -dontskipnonpubliclibraryclasses
  28. # 指定不去忽略非公共的库的类的成员
  29. -dontskipnonpubliclibraryclassmembers
  30. # 不做预校验,可加快混淆速度
  31. # preverify是proguard的4个步骤之一
  32. # Android不需要preverify,去掉这一步可以加快混淆速度
  33. -dontpreverify
  34. # 不优化输入的类文件
  35. -dontoptimize
  36. # 混淆时生成日志文件,即映射文件
  37. -verbose
  38. # 指定映射文件的名称
  39. -printmapping proguardMapping.txt
  40. #混淆时所采用的算法
  41. -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
  42. # 保护代码中的Annotation不被混淆
  43. -keepattributes *Annotation*
  44. # 忽略警告
  45. -ignorewarnings
  46. # 保护泛型不被混淆
  47. -keepattributes Signature
  48. # 抛出异常时保留代码行号
  49. -keepattributes SourceFile,LineNumberTable
  50. #------------------其他配置-------------------------
  51. #eventbus
  52. -keepattributes *Annotation*
  53. -keepclassmembers class ** {
  54. @de.greenrobot.event.Subscribe <methods>;
  55. }
  56. -keep enum org.greenrobot.eventbus.ThreadMode { *; }
  57. -keepclassmembers class ** {
  58. @org.greenrobot.eventbus.Subscribe <methods>;
  59. }
  60. -keep enum de.greenrobot.event.ThreadMode { *; }
  61. # 不混淆资源类 不增加,会出现0xffffffff资源找不到报错
  62. -keepclassmembers class **.R$* { *; }
  63. # arouter 混淆 不增加,会出现报错,找不到路径。
  64. -keep class com.alibaba.android.arouter.** { *; }
  65. -keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
  66. #3D 地图 V5.0.0之前:
  67. -keep class com.amap.api.maps.**{*;}
  68. -keep class com.autonavi.amap.mapcore.*{*;}
  69. -keep class com.amap.api.trace.**{*;}
  70. # 3D 地图 V5.0.0之后:
  71. -keep class com.amap.api.maps.**{*;}
  72. -keep class com.autonavi.**{*;}
  73. -keep class com.amap.api.trace.**{*;}
  74. # 定位
  75. -keep class com.amap.api.location.**{*;}
  76. -keep class com.amap.api.fence.**{*;}
  77. -keep class com.loc.**{*;}
  78. -keep class com.autonavi.aps.amapapi.model.**{*;}
  79. #搜索
  80. -keep class com.amap.api.services.**{*;}
  81. # 2D地图
  82. -keep class com.amap.api.maps2d.**{*;}
  83. -keep class com.amap.api.mapcore2d.**{*;}
  84. # 导航
  85. -keep class com.amap.api.navi.**{*;}
  86. -keep class com.autonavi.**{*;}
  87. # 保留 Apache Commons Codec 的所有类和方法
  88. -keep class org.apache.commons.codec.** { *; }