#-------------------------------------------定制化区域---------------------------------------------- #---------------------------------1.实体类--------------------------------- -keep class com.shlb.comb.model.** { *; } #------------------------------------------------------------------------- #---------------------------------2.第三方包------------------------------- #eventbus -keepattributes *Annotation* -keepclassmembers class * { @org.greenrobot.eventbus.Subscribe ; } -keep enum org.greenrobot.eventbus.ThreadMode { *; } # If using AsyncExecutord, keep required constructor of default event used. # Adjust the class name if a custom failure event type is used. -keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent { (java.lang.Throwable); } ##--------------- Androidx ---------- -keep class com.google.android.material.** {*;} -keep class androidx.** {*;} -keep public class * extends androidx.** -keep interface androidx.** {*;} -dontwarn com.google.android.material.** -dontnote com.google.android.material.** -dontwarn androidx.** ##--------------- Androidx ---------- ##--------------- QmUi ---------- -keep class **_FragmentFinder { *; } -keep class androidx.fragment.app.* { *; } -keep class com.qmuiteam.qmui.arch.record.RecordIdClassMap { *; } -keep class com.qmuiteam.qmui.arch.record.RecordIdClassMapImpl { *; } -keep class com.qmuiteam.qmui.arch.scheme.SchemeMap {*;} -keep class com.qmuiteam.qmui.arch.scheme.SchemeMapImpl {*;} ##--------------- QmUi ---------- # Accessed via reflection, avoid renaming or removal -keep class org.greenrobot.eventbus.android.AndroidComponentsImpl #fastjson -keepattributes Signature -dontwarn com.alibaba.fastjson.** -keep class com.alibaba.fastjson.**{*; } #picasso -dontwarn com.squareup.okhttp.** #okhttp #okio -dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.annotation.** #retrofit2 -dontwarn retrofit2.** #rx -dontwarn rx.** #alipay -dontwarn com.alipay.** #rxeasyhttp -keep class com.zhouyou.http.model.** {*;} -keep class com.zhouyou.http.cache.model.** {*;} -keep class com.zhouyou.http.cache.stategy.**{*;} # -keep class com.zhouyou.http.** { *;} #MPAndroidchart -keep class com.github.mikephil.** { *;} #pgy -dontwarn com.pgyersdk.** -keep class com.pgyersdk.** { *; } #litpal -keep class org.litepal.** { *; } -keep class * extends org.litepal.crud.DataSupport { *; } #------------------------------------------------------------------------- #---------------------------------3.与js互相调用的类------------------------ #------------------------------------------------------------------------- #---------------------------------4.反射相关的类和方法----------------------- #-keep class com.shlanbao.lbmonitoring.activity.LbSearchActivity # #-keep class com.shlanbao.lbmonitoring.view.LbSearchView #---------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------- #-------------------------------------------基本不用动区域-------------------------------------------- #---------------------------------基本指令区---------------------------------- # 代码混淆压缩比,在0~7之间 -optimizationpasses 5 # 混合时不使用大小写混合,混合后的类名为小写 -dontusemixedcaseclassnames # 指定不去忽略非公共库的类成员 -dontskipnonpubliclibraryclasses # 不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。 -dontpreverify # 混淆时是否记录日志,这句话能够使我们的项目混淆后产生映射文件 # 包含有类名->混淆后类名的映射关系 -verbose # 避免混淆泛型 -keepattributes Signature # 保留Annotation不混淆 -keepattributes *Annotation*,InnerClasses #google推荐算法 -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* # 避免混淆Annotation、内部类、泛型、匿名类 -keepattributes *Annotation*,InnerClasses,Signature,EnclosingMethod # 重命名抛出异常时的文件名称 -renamesourcefileattribute SourceFile # 抛出异常时保留代码行号 -keepattributes SourceFile,LineNumberTable # 忽略警告 -ignorewarnings # 优化不优化输入的类文件 -dontoptimize # 保留R下面的资源 -keep class **.R$* {*;} # 保留枚举类不被混淆 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } #---------------------------------------------------------------------------- #---------------------------------默认保留区--------------------------------- -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class * extends android.view.View -keep public class com.android.vending.licensing.ILicensingService -keep class android.support.** {*;} -keep public class * extends android.view.View{ *** get*(); void set*(***); public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } -keepclasseswithmembers class * { public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } -keep class **.R$* { *; } -keepclassmembers class * { void *(**On*Event); } #---------------------------------------------------------------------------- #---------------------------------webview------------------------------------ -keepclassmembers class fqcn.of.javascript.interface.for.Webview { public *; } -keepclassmembers class * extends android.webkit.WebViewClient { public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap); public boolean *(android.webkit.WebView, java.lang.String); } -keepclassmembers class * extends android.webkit.WebViewClient { public void *(android.webkit.WebView, jav.lang.String); } #---------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------