-printconfiguration build/outputs/fullProguardConfig.pro

-dontshrink


-keepclassmembers class * {
    @com.tencent.luggage.wxa.SaaA.plugin.SyncJsApi *;
    @com.tencent.luggage.wxa.SaaA.plugin.AsyncJsApi *;
}

-keep class com.donut.plugin.* {*;}
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
   public *;
}

# Uncomment this to preserve the line number information for
# debugging stack traces.
-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
-renamesourcefileattribute SourceFile

# 屏蔽警告
-ignorewarnings
# 指定混淆是采用的算法,后面的参数是一个过滤器
# 这个过滤器是谷歌推荐的算法,一般不做更改
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
# 保护代码中的Annotation不被混淆
-keepattributes *Annotation*
# 避免混淆泛型, 这在JSON实体映射时非常重要
-keepattributes Signature
# 抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable
 #优化时允许访问并修改有修饰符的类和类的成员,这可以提高优化步骤的结果。
# 比如,当内联一个公共的getter方法时,这也可能需要外地公共访问。
# 虽然java二进制规范不需要这个,要不然有的虚拟机处理这些代码会有问题。当有优化和使用-repackageclasses时才适用。
#指示语:不能用这个指令处理库中的代码,因为有的类和类成员没有设计成public ,而在api中可能变成public
-allowaccessmodification
#当有优化和使用-repackageclasses时才适用。
#-repackageclasses com.test
 # 混淆时记录日志(打印混淆的详细信息)
 # 这句话能够使我们的项目混淆后产生映射文件
 # 包含有类名->混淆后类名的映射关系filename.txt
                     ##-classobfuscationdictionary filename.txt
                     ##-packageobfuscationdictionary f
#-obfuscationdictionary ilename.txt
-verbose

-keep class .R -keepclasseswithmembers class *.R$* { public static <fields>;}

# 保留枚举类不被混淆
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient
-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslEr
-dontwarn android.webkit.WebViewClient

#--------------ludp和oaid资源混淆忽略-------start#
-keep class com.lenovo.lps.reaper.**{*;}
-keep class com.lenovo.lps.reaper.*$* {
    *;
}
-dontwarn com.lenovo.lps.reaper.**

-keep class org.greenrobot.greendao.**{*;}
-keep class org.greenrobot.greendao.*$* {
    *;
}
-dontwarn org.greenrobot.greendao.**

-keep class com.lenovo.lsf.gamesdk.oaid.** { *; }
-keep class com.lenovo.lsf.gamesdk.oaid.*$* { *; }
-keep class com.asus.msa.**{*;}
-keep class com.asus.msa.*$* {
    *;
}
-keep class com.bun.**{*;}
-keep class com.bun.*$* {
    *;
}
-keep class com.huawei.hms.ads.identifier.**{*;}
-keep class com.huawei.hms.ads.identifier.*$* {
    *;
}
-keep class com.netease.nis.sdkwrapper.**{*;}
-keep class com.netease.nis.sdkwrapper.*$* {
    *;
}
-keep class com.samsung.android.deviceidservice.**{*;}
-keep class com.samsung.android.deviceidservice.*$* {
    *;
}
-keep class com.zui.**{*;}
-keep class com.zui.*$* {
    *;
}
-dontwarn com.asus.msa.**
-dontwarn com.bun.**
-dontwarn com.huawei.hms.ads.identifier.**
-dontwarn com.netease.nis.sdkwrapper.**
-dontwarn com.samsung.android.deviceidservice.**
-dontwarn com.zui.**
#--------------ludp和oaid资源混淆忽略-------end#

#--------------支付资源混淆忽略-------start#
-keep class com.google.zxing.**{*;}
-keep class com.google.zxing.*$* {
    *;
}
-dontwarn com.google.zxing.**

-dontwarn com.alipay.**
-keep class com.alipay.**{*;}

-keep class org.json.alipay.**{*;}
-keep class org.json.alipay.*$* {
    *;
}
-dontwarn org.json.alipay.**

#--------------支付资源混淆忽略-------end#

#--------------lenovoId源混淆忽略-------start#
-keep class com.lenovo.lsf.**{*;}
-keep class com.lenovo.lsf.*$* {
    *;
}
-dontwarn com.lenovo.lsf.**
#--------------lenovoId源混淆忽略-------end#

-keep class com.lenovo.intermodal.bean.**{*;}
-keep class com.lenovo.intermodal.bean.*$* {
    *;
}
-dontwarn com.lenovo.intermodal.bean.**

-keep class com.lenovo.intermodal.api.**{*;}
-keep class com.lenovo.intermodal.api.*$* {
    *;
}
-dontwarn com.lenovo.intermodal.api.**

-keep class com.lenovo.intermodal.request.**{*;}
-keep class com.lenovo.intermodal.request.*$* {
    *;
}
-dontwarn com.lenovo.intermodal.request.**