#-------------------------------------------定制化区域----------------------------------------------
|
#---------------------------------1.实体类---------------------------------
|
|
-keep class com.shlb.comb.model.** { *; }
|
|
#-------------------------------------------------------------------------
|
|
#---------------------------------2.第三方包-------------------------------
|
|
#eventbus
|
-keepattributes *Annotation*
|
-keepclassmembers class * {
|
@org.greenrobot.eventbus.Subscribe <methods>;
|
}
|
-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 {
|
<init>(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 <init>(android.content.Context);
|
public <init>(android.content.Context, android.util.AttributeSet);
|
public <init>(android.content.Context, android.util.AttributeSet, int);
|
}
|
-keepclasseswithmembers class * {
|
public <init>(android.content.Context);
|
public <init>(android.content.Context, android.util.AttributeSet);
|
public <init>(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);
|
}
|
#----------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------------------
|