proguard-rules.pro 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. -keep public class * extends android.app.Activity #所有activity的子类不要去混淆
  20. -keep public class * extends android.app.Application
  21. -keep public class * extends android.app.Service
  22. -keep public class * extends android.content.BroadcastReceiver
  23. -keep public class * extends android.content.ContentProvider
  24. -keep public class * extends android.app.backup.BackupAgentHelper
  25. -keep public class * extends android.preference.Preference
  26. -keepclasseswithmembernames class * {
  27. native <methods>; #保持 native 的方法不去混淆
  28. }
  29. -keepclasseswithmembers class * {
  30. public <init>(android.content.Context, android.util.AttributeSet); #保持自定义控件类不被混淆,指定格式的构造方法不去混淆
  31. }
  32. -keep public class * extends android.view.View { #保持自定义控件指定规则的方法不被混淆
  33. public <init>(android.content.Context);
  34. public <init>(android.content.Context, android.util.AttributeSet);
  35. public <init>(android.content.Context, android.util.AttributeSet, int);
  36. public void set*(...);
  37. }
  38. -keep class * implements android.os.Parcelable { #保持 Parcelable 不被混淆(aidl文件不能去混淆)
  39. public static final android.os.Parcelable$Creator *;
  40. }
  41. -keepnames class * implements java.io.Serializable #需要序列化和反序列化的类不能被混淆(注:Java反射用到的类也不能被混淆)
  42. -dontwarn com.zhy.http.**
  43. -keep class com.zhy.http.*{*;}
  44. -dontwarn com.tencent.smtt.**
  45. -keep class com.tencent.smtt.*{*;}
  46. -dontwarn cn.muchinfo.rma.business.**
  47. -keep class cn.muchinfo.rma.business.*{*;}
  48. -dontwarn cn.muchinfo.rma.view.base.app.**
  49. -keep class cn.muchinfo.rma.view.base.app.*{*;}
  50. -dontwarn cn.muchinfo.rma.netManage.base
  51. -keep interface cn.muchinfo.rma.netManage.base.*{*;}
  52. -dontwarn cn.muchinfo.rma.netManage
  53. -keep class cn.muchinfo.rma.netManage.*{*;}
  54. #https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-CN.md
  55. -keep class com.blankj.utilcode.*{*;}
  56. -keepclassmembers class com.blankj.utilcode.*{*;}
  57. -dontwarn com.blankj.utilcode.**
  58. #okhttp
  59. -dontwarn okhttp3.**
  60. -keep class okhttp3.*{*;}
  61. #okio
  62. -dontwarn okio.**
  63. -keep class okio.*{*;}
  64. -dontwarn com.google.auto.**
  65. -keep class com.google.auto.* { *;}
  66. -dontwarn com.google.common.**
  67. -keep class com.google.common.*{*;}
  68. # 支付
  69. -keep class com.alipay.android.app.IAlixPay{*;}
  70. -keep class com.alipay.android.app.IAlixPay$Stub{*;}
  71. -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
  72. -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
  73. -keep class com.alipay.sdk.app.PayTask{ public *;}
  74. -keep class com.alipay.sdk.app.AuthTask{ public *;}
  75. -keep class com.alipay.sdk.app.H5PayCallback {
  76. <fields>;
  77. <methods>;
  78. }
  79. -keep class com.alipay.android.phone.mrpc.core.* { *; }
  80. -keep class com.alipay.apmobilesecuritysdk.* { *; }
  81. -keep class com.alipay.mobile.framework.service.annotation.* { *; }
  82. -keep class com.alipay.mobilesecuritysdk.face.* { *; }
  83. -keep class com.alipay.tscenter.biz.rpc.* { *; }
  84. -keep class org.json.alipay.* { *; }
  85. -keep class com.alipay.tscenter.* { *; }
  86. -keep class com.ta.utdid2.* { *;}
  87. -keep class com.ut.device.* { *;}
  88. -dontwarn com.alipay.**
  89. -keepattributes *Annotation*
  90. -keepclassmembers class * {
  91. @org.greenrobot.eventbus.Subscribe <methods>;
  92. }
  93. -keep enum org.greenrobot.eventbus.ThreadMode { *; }
  94. # Only required if you use AsyncExecutor
  95. -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
  96. <init>(java.lang.Throwable);
  97. }
  98. -dontwarn cn.muchinfo.rma.global.*
  99. -keep class cn.muchinfo.rma.global.*{*;}
  100. -keepattributes Signature
  101. # Gson specific classes
  102. -dontwarn sun.misc.**
  103. -keep class sun.misc.Unsafe.* { *; }
  104. # Application classes that will be serialized/deserialized over Gson
  105. -dontwarn com.google.gson.**
  106. -keep class com.google.gson.* { *; }
  107. -keep class com.google.gson.stream.* { *; }