proguard-rules.pro 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  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. -ignorewarnings
  20. ## GSON 2.2.4 specific rules ##
  21. # Gson uses generic type information stored in a class file when working with fields. Proguard
  22. # removes such information by default, so configure it to keep all of it.
  23. -keepattributes Signature
  24. # For using GSON @Expose annotation
  25. -keepattributes *Annotation*
  26. -keepattributes EnclosingMethod
  27. # Gson specific classes
  28. -keep class sun.misc.Unsafe { *; }
  29. -keep class com.google.gson.stream.** { *; }
  30. -keep public class * implements com.bumptech.glide.module.GlideModule
  31. -keep public class * extends com.bumptech.glide.module.AppGlideModule
  32. -keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
  33. **[] $VALUES;
  34. public *;
  35. }
  36. # Keep the support library
  37. -keep class android.support.** { *; }
  38. -keep interface android.support.** { *; }
  39. # Okio
  40. -keep class sun.misc.Unsafe { *; }
  41. -dontwarn java.nio.file.*
  42. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
  43. -dontwarn okio.**
  44. -dontwarn okio.** -dontnote retrofit2.Platform -dontwarn retrofit2.Platform$Java8 -keepattributes Signature -keepattributes Exceptions -keep class com.myownpackage.models.** { *; }
  45. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
  46. ########--------Retrofit + RxJava--------#########
  47. -dontwarn retrofit.**
  48. -keep class retrofit.** { *; }
  49. -dontwarn sun.misc.Unsafe
  50. -dontwarn com.octo.android.robospice.retrofit.RetrofitJackson**
  51. -dontwarn retrofit.appengine.UrlFetchClient
  52. -keepattributes Signature
  53. -keepattributes Exceptions
  54. -keepclasseswithmembers class * {
  55. @retrofit.http.* <methods>;
  56. }
  57. -keep class com.google.gson.** { *; }
  58. -keep class com.google.inject.** { *; }
  59. -keep class org.apache.http.** { *; }
  60. -keep class org.apache.james.mime4j.** { *; }
  61. -keep class javax.inject.** { *; }
  62. -keep class retrofit.** { *; }
  63. -dontwarn org.apache.http.**
  64. -dontwarn android.net.http.AndroidHttpClient
  65. -dontwarn retrofit.**
  66. -dontwarn sun.misc.**
  67. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  68. long producerIndex;
  69. long consumerIndex;
  70. }
  71. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  72. long producerNode;
  73. long consumerNode;
  74. }
  75. # ALSO REMEMBER KEEPING YOUR MODEL CLASSES
  76. -keep class com.ysnows.sultra.model.** { *; }
  77. -keep class com.ysnows.sultra.utils.net.Response { *; }
  78. -keep class com.ysnows.base.model.** { *; }
  79. -keep class com.ysnows.base.route.** { *; }
  80. -keep class com.ysnows.update.model.** { *; }
  81. -keep class com.ysnows.umeng.cc.** { *; }
  82. -keep class com.ysnows.alipay.cc.** { *; }
  83. -keep class com.ysnows.update.component.** { *; }
  84. #Retrofit
  85. -dontwarn retrofit2.**
  86. -keep class retrofit2.** { *; }
  87. -keepattributes Signature
  88. -keepattributes Exceptions
  89. -keepclasseswithmembers class * {
  90. @retrofit2.http.* <methods>;
  91. }
  92. #RxJava RxAndroid
  93. -dontwarn sun.misc.**
  94. -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  95. long producerIndex;
  96. long consumerIndex;
  97. }
  98. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  99. rx.internal.util.atomic.LinkedQueueNode producerNode;
  100. }
  101. -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  102. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  103. }
  104. -dontwarn java.lang.invoke.*
  105. -keep class sun.misc.Unsafe { *; }
  106. # OkHttp
  107. -keepattributes Signature
  108. -keepattributes *Annotation*
  109. -keep class okhttp3.** { *; }
  110. -keep interface okhttp3.** { *; }
  111. -dontwarn okhttp3.**
  112. #glide
  113. -keep public class * implements com.bumptech.glide.module.GlideModule
  114. -keep public class * extends com.bumptech.glide.AppGlideModule
  115. -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  116. **[] $VALUES;
  117. public *;
  118. }
  119. -dontwarn retrofit2.**
  120. -keep class retrofit2.** { *; }
  121. -keepattributes Signature
  122. -keepattributes Exceptions
  123. -keepclassmembers class * {
  124. public <init> (org.json.JSONObject);
  125. }
  126. -keepclassmembers enum * {
  127. public static **[] values();
  128. public static ** valueOf(java.lang.String);
  129. }
  130. -keepclassmembers class * {
  131. @android.webkit.JavascriptInterface <methods>;
  132. }
  133. #okhttp
  134. -dontwarn com.squareup.okhttp.**
  135. -keep class com.chad.library.adapter.** {
  136. *;
  137. }
  138. -keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
  139. -keep public class * extends com.chad.library.adapter.base.BaseViewHolder
  140. -keepclassmembers class **$** extends com.chad.library.adapter.base.BaseViewHolder {
  141. <init>(...);
  142. }
  143. -dontwarn com.kingja.loadsir.**
  144. -keep class com.kingja.loadsir.** {*;}
  145. -dontwarn com.litesuits.orm.**
  146. -keep class com.litesuits.orm.** {*;}
  147. -dontwarn org.mozilla.javascript.**
  148. -keep class org.mozilla.javascript.** {*;}
  149. -dontwarn com.yanzhenjie.permission.**
  150. #alipay_begin
  151. -keep class com.alipay.android.app.IAlixPay{*;}
  152. -keep class com.alipay.android.app.IAlixPay$Stub{*;}
  153. -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
  154. -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
  155. -keep class com.alipay.sdk.app.PayTask{ public *;}
  156. -keep class com.alipay.sdk.app.AuthTask{ public *;}
  157. -keep class com.alipay.sdk.app.H5PayCallback {
  158. <fields>;
  159. <methods>;
  160. }
  161. -keep class com.alipay.android.phone.mrpc.core.** { *; }
  162. -keep class com.alipay.apmobilesecuritysdk.** { *; }
  163. -keep class com.alipay.mobile.framework.service.annotation.** { *; }
  164. -keep class com.alipay.mobilesecuritysdk.face.** { *; }
  165. -keep class com.alipay.tscenter.biz.rpc.** { *; }
  166. -keep class org.json.alipay.** { *; }
  167. -keep class com.alipay.tscenter.** { *; }
  168. -keep class com.ta.utdid2.** { *;}
  169. -keep class com.ut.device.** { *;}
  170. #alipay_end
  171. -keep class com.hwangjr.rxbus.thread.** {*;}
  172. -keepattributes *Annotation*
  173. -keepclassmembers class ** {
  174. @com.hwangjr.rxbus.annotation.Subscribe public *;
  175. @com.hwangjr.rxbus.annotation.Produce public *;
  176. }
  177. -dontwarn com.yanzhenjie.permission.**
  178. -keep class com.chad.library.adapter.** {
  179. *;
  180. }
  181. -keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
  182. -keep public class * extends com.chad.library.adapter.base.BaseViewHolder
  183. -keepclassmembers class **$** extends com.chad.library.adapter.base.BaseViewHolder {
  184. <init>(...);
  185. }
  186. -keep class com.umeng.** {*;}
  187. -keepclassmembers class * {
  188. public <init> (org.json.JSONObject);
  189. }
  190. -keepclassmembers enum * {
  191. public static **[] values();
  192. public static ** valueOf(java.lang.String);
  193. }
  194. # 穿山甲
  195. -keep class com.bytedance.sdk.openadsdk.** { *; }
  196. -keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
  197. -keep class com.pgl.sys.ces.* {*;}
  198. # YCWebView
  199. -keep class com.ycbjie.webviewlib.** {
  200. *;
  201. }
  202. -dontwarn com.ycbjie.webviewlib.**
  203. -renamesourcefileattribute SourceFile
  204. -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod
  205. # Preserve all annotations.
  206. -keepattributes *Annotation*
  207. # Preserve all public classes, and their public and protected fields and
  208. # methods.
  209. #-keep public class * {
  210. # public protected *;
  211. #}
  212. # Preserve all .class method names.
  213. #-keepclassmembernames class * {
  214. # java.lang.Class class$(java.lang.String);
  215. # java.lang.Class class$(java.lang.String, boolean);
  216. #}
  217. # Preserve all native method names and the names of their classes.
  218. #-keepclasseswithmembernames class * {
  219. # native <methods>;
  220. #}
  221. # Preserve the special static methods that are required in all enumeration
  222. # classes.
  223. #}
  224. #-keepclassmembers class * extends java.lang.Enum {
  225. # public static **[] values();
  226. # public static ** valueOf(java.lang.String);
  227. #
  228. ## Explicitly preserve all serialization members. The Serializable interface
  229. ## is only a marker interface, so it wouldn't save them.
  230. ## You can comment this out if your library doesn't use serialization.
  231. ## If your code contains serializable classes that have to be backward
  232. ## compatible, please refer to the manual.
  233. #
  234. #-keepclassmembers class * implements java.io.Serializable {
  235. # static final long serialVersionUID;
  236. # static final java.io.ObjectStreamField[] serialPersistentFields;
  237. # private void writeObject(java.io.ObjectOutputStream);
  238. # private void readObject(java.io.ObjectInputStream);
  239. # java.lang.Object writeReplace();
  240. # java.lang.Object readResolve();
  241. #}
  242. -keep class com.uc.* {*;}
  243. -dontwarn com.tencent.bugly.**
  244. -keep public class com.tencent.bugly.**{*;}