consumer-proguard-rules.pro 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  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. # 保持 Parcelable 不被混淆
  20. -keep class * implements android.os.Parcelable {
  21. public static final android.os.Parcelable$Creator *;
  22. }
  23. #不混淆Serializable接口的子类中指定的某些成员变量和方法
  24. -keepclassmembers class * implements java.io.Serializable {
  25. static final long serialVersionUID;
  26. private static final java.io.ObjectStreamField[] serialPersistentFields;
  27. !static !transient <fields>;
  28. private void writeObject(java.io.ObjectOutputStream);
  29. private void readObject(java.io.ObjectInputStream);
  30. java.lang.Object writeReplace();
  31. java.lang.Object readResolve();
  32. }
  33. # ARouter
  34. -keep public class com.alibaba.android.arouter.routes.**{*;}
  35. -keep public class com.alibaba.android.arouter.facade.**{*;}
  36. -keep class javax.lang.model.**{*;}
  37. -keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
  38. -dontwarn javax.lang.model.**
  39. #Bugly
  40. -dontwarn com.tencent.bugly.**
  41. -keep public class com.tencent.bugly.**{*;}
  42. # ButterKnife
  43. -keep public class * implements butterknife.Unbinder {
  44. public <init>(**, android.view.View);
  45. }
  46. -keep class butterknife.*
  47. -keepclasseswithmembernames class * {
  48. @butterknife.* <methods>;
  49. }
  50. -keepclasseswithmembernames class * {
  51. @butterknife.* <fields>;
  52. }
  53. # Glide
  54. -keep public class * implements com.bumptech.glide.module.GlideModule
  55. -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  56. **[] $VALUES;
  57. public *;
  58. }
  59. # 微信支付
  60. -dontwarn com.tencent.mm.**
  61. -dontwarn com.tencent.wxop.stat.**
  62. -keep class com.tencent.mm.** {*;}
  63. -keep class com.tencent.wxop.stat.**{*;}
  64. # 讯飞语音
  65. -dontwarn com.iflytek.**
  66. -keep class com.iflytek.** {*;}
  67. # 支付宝钱包
  68. -dontwarn com.alipay.**
  69. -dontwarn HttpUtils.HttpFetcher
  70. -dontwarn com.ta.utdid2.**
  71. -dontwarn com.ut.device.**
  72. -keep class com.alipay.android.app.IAlixPay{*;}
  73. -keep class com.alipay.android.app.IAlixPay$Stub{*;}
  74. -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
  75. -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
  76. -keep class com.alipay.sdk.app.PayTask{ public *;}
  77. -keep class com.alipay.sdk.app.AuthTask{ public *;}
  78. -keep class com.alipay.mobilesecuritysdk.*
  79. -keep class com.ut.*
  80. #UCrop
  81. -dontwarn com.yalantis.ucrop**
  82. -keep class com.yalantis.ucrop** { *; }
  83. -keep interface com.yalantis.ucrop** { *; }
  84. #sqlcipher
  85. -keep class net.sqlcipher.** {*;}
  86. -keep class net.sqlcipher.database.** {*;}
  87. #zxing
  88. -keep class com.google.zxing.** {*;}
  89. -dontwarn com.google.zxing.**
  90. #okhttputils
  91. -dontwarn com.zhy.http.**
  92. -keep class com.zhy.http.**{*;}
  93. ##okhttp
  94. #-dontwarn okhttp3.**
  95. # OkHttp
  96. -dontwarn okio.**
  97. -dontwarn okhttp3.**
  98. -keep class okhttp3.**{*;}
  99. -dontwarn javax.annotation.Nullable
  100. -dontwarn javax.annotation.ParametersAreNonnullByDefault
  101. #okio
  102. -dontwarn okio.**
  103. -keep class okio.**{*;}
  104. -dontwarn retrofit2.**
  105. -dontwarn org.codehaus.mojo.**
  106. -keep class retrofit2.** { *; }
  107. -keepattributes Signature
  108. -keepattributes Exceptions
  109. -keepattributes *Annotation*
  110. -keepattributes RuntimeVisibleAnnotations
  111. -keepattributes RuntimeInvisibleAnnotations
  112. -keepattributes RuntimeVisibleParameterAnnotations
  113. -keepattributes RuntimeInvisibleParameterAnnotations
  114. -keepattributes EnclosingMethod
  115. -keepclasseswithmembers class * {@retrofit2.* <methods>;}
  116. -keepclasseswithmembers interface * {@retrofit2.* <methods>;}
  117. -keep class com.google.gson.reflect.** { *; }
  118. -keep public class * implements java.io.Serializable {*;}
  119. -keep public class * implements java.lang.Cloneable {*;}
  120. -keep class java.util.HashMap {*;}
  121. # 使用Gson时需要配置Gson的解析对象及变量都不混淆。不然Gson会找不到变量。
  122. # 将下面替换成自己的实体类
  123. -keep class cn.haliaeetus.bsbase.model.** { *; }
  124. -keep class cn.haliaeetus.bsbase.reviewmodel.** { *; }
  125. -keep class cn.haliaeetus.bs.model.** { *; }
  126. -keep class cn.haliaeetu.bsindex.model.** { *; }
  127. -keep class cn.haliaeetus.bsmine.model.** { *; }
  128. # RxJava RxAndroid
  129. -dontwarn sun.misc.**
  130. -dontwarn rx.**
  131. -dontwarn io.reactivex.**
  132. -keep class rx.**{*;}
  133. -keep class io.reactivex.**{*;}
  134. -dontwarn io.reactivex.internal.subscriptions.**
  135. -keep class io.reactivex.internal.subscriptions.**{*;}
  136. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  137. long producerIndex;
  138. long consumerIndex;
  139. }
  140. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  141. rx.internal.util.atomic.LinkedQueueNode producerNode;
  142. }
  143. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  144. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  145. }
  146. #qmui
  147. -dontwarn com.qmuiteam.**
  148. -dontnote com.qmuiteam.**
  149. -keep class com.qmuiteam.**{*;}
  150. #ApiFactory和自己写的&其它
  151. -dontwarn cn.haliaeetus.bsbase.http.api.**
  152. -dontnote cn.haliaeetus.bsbase.http.api.**
  153. -keep class cn.haliaeetus.bsbase.http.api.**{*;}
  154. -dontwarn cn.haliaeetus.bsbase.weight.**
  155. -keep class cn.haliaeetus.bsbase.weight.**{*;}
  156. -dontwarn cn.haliaeetus.bsexcel.**
  157. -keep class cn.haliaeetus.bsexcel.**{*;}
  158. -dontwarn android.databinding.**
  159. -keep class android.databinding.**{*;}
  160. -dontwarn com.airbnb.lottie.**
  161. -keep class com.airbnb.lottie.**{*;}
  162. -dontwarn android.databinding.**
  163. -keep class android.databinding.**{*;}
  164. -dontwarn org.jdom.**
  165. -keep class org.jdom.**{*;}
  166. -dontwarn org.apache.log4j.**
  167. -keep class org.apache.log4j.**{*;}
  168. -dontwarn jxl.**
  169. -keep class jxl.**{*;}
  170. -keep class cn.haliaeetus.bsbase.utils.LogUtils
  171. -keep class cn.haliaeetus.bsbase.utils.JsonUtils
  172. -dontwarn com.unionpay.**
  173. -keep class com.unionpay.**{*;}
  174. -dontwarn com.google.android.**
  175. -keep class com.google.android.**{*;}
  176. #
  177. #-dontwarn jxl.write.biff.**
  178. #-keep class jxl.write.biff.**{*;}
  179. #GifImagview
  180. #-dontwarn public class pl.droidsonroids.gif.GifTextureView{ *;}
  181. -keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
  182. -keep class cn.haliaeetus.bsbase.http.api.** {*;}
  183. #tensorflow
  184. -keep class org.tensorflow.lite.**{*;}
  185. -dontwarn org.tensorflow.lite.**
  186. #Glide不能被混淆
  187. -keep public class * implements com.bumptech.glide.module.GlideModule
  188. -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  189. **[] $VALUES;
  190. public *;
  191. }
  192. #ocr 混淆代码
  193. -keep class net.iqubic.** {*;}
  194. -dontwarn com.yanzhenjie.zbar.**
  195. -keep class com.yanzhenjie.zbar.**{*;}
  196. #抛出异常时保留代码行号
  197. -keepattributes SourceFile,LineNumberTable
  198. #强制使所有混淆失效
  199. #-dontobfuscate
  200. #-dontoptimize
  201. #友盟
  202. -keep class com.umeng.** {*;}
  203. -keepclassmembers class * {
  204. public <init> (org.json.JSONObject);
  205. }
  206. -keepclassmembers enum * {
  207. public static **[] values();
  208. public static ** valueOf(java.lang.String);
  209. }
  210. #百度语音合成
  211. -keep class com.baidu.tts.**{*;}
  212. -keep class com.baidu.speechsynthesizer.**{*;}
  213. #百度语音识别
  214. -keep class com.baidu.speech.**{*;}
  215. -keep class net.sourceforge.zbar.ImageScanner { *; }
  216. -keep class net.sourceforge.zbar.Image { *; }
  217. -keep class net.sourceforge.zbar.SymbolSet { *; }
  218. -keep class net.sourceforge.zbar.Symbol { *; }
  219. #极光推送
  220. -dontoptimize
  221. -dontpreverify
  222. -dontwarn cn.jpush.**
  223. -keep class cn.jpush.** { *; }
  224. -keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
  225. -dontwarn cn.jiguang.**
  226. -keep class cn.jiguang.** { *; }
  227. -dontwarn com.google.**
  228. -keep class com.google.gson.** {*;}
  229. -keep class com.google.protobuf.** {*;}
  230. #PDF
  231. -keep class com.shockwave.**