-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 ;} # 保留枚举类不被混淆 -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.**