# 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 # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # 注:容联混淆配置 #-libraryjars libs/Yuntx_IMLib_v5.3.1r.jar #-keep class com.yuntongxun.ecsdk.** {*; } -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 -keepclasseswithmembernames class * { native ; } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } #自定义控件不要混淆 -keep public class * extends android.view.View { *; } #adapter也不能混淆 -keep public class * extends android.widget.BaseAdapter { *; } #如果你使用了CusorAdapter,添加下面这行 -keep public class * extends android.widget.CusorAdapter{ *; } #数据模型不要混淆 -keepnames class * implements java.io.Serializable #-dontoptimize #-dontpreverify ##XBanner 图片轮播混淆配置 -keep class com.stx.xhb.xbanner.**{*;} -dontwarn com.netease.** -keep class com.netease.** {*;} #如果你开启数据库功能,需要加入 -keep class net.sqlcipher.** {*;} ### APP 3rd party jars(glide) -keep public class * implements com.bumptech.glide.module.GlideModule -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } -dontwarn com.netease.** -keep class com.netease.** {*;} #第三方类库 -libraryjars libs/xUtils-2.6.14.jar -libraryjars libs/universal-image-loader-1.9.3.jar -libraryjars libs/gson-2.2.4.jar #-libraryjars libs/androidx.fragment.jar -libraryjars libs/pinyin4j-2.5.0.jar -libraryjars libs/commons-codec-1.3.jar #-libraryjars libs/BaiduLBS_Android.jar -libraryjars libs/umeng-update-v2.6.0.1.jar -keep class android.** { *; } -keep class androidx.fragment.** { *; } -keep class com.google.gson.** { *; } -keep class org.apache.commons.codec.** { *; } -keep class com.nostra13.universalimageloader.** { *; } -keep class net.sourceforge.pinyin4j.** { *; } -keep class com.hp.hpl.sparta.** { *; } -keep class de.greenrobot.event.** { *; } -keep class demo.** { *; } -dontwarn demo.** #-keep class com.baidu.** { *; } #-dontwarn com.baidu.** -keep class com.umeng.** {*;} -keepclassmembers class * { public (org.json.JSONObject); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } ##---------------友盟 ---------- -dontshrink -dontoptimize -dontwarn com.google.android.maps.** -dontwarn android.webkit.WebView -dontwarn com.umeng.** -keepattributes Exceptions,InnerClasses,Signature -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -keep public interface com.tencent.** -keep public interface com.umeng.socialize.** -keep public interface com.umeng.socialize.sensor.** -keep public interface com.umeng.scrshot.** -keep public class com.umeng.socialize.* {*;} -keep public class javax.** -keep public class android.webkit.** -keep class com.umeng.scrshot.** -keep public class com.tencent.** {*;} -keep class com.umeng.socialize.sensor.** -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;} -keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;} -keep public class [your_pkg].R$*{ public static final int *; } -ignorewarning -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -dontwarn com.vivo.push.** -keep class com.vivo.push.**{*; } -keep class com.vivo.vms.**{*; } -keep class com.netease.nimlib.mixpush.vivo.VivoPush* {*;} -keep class com.netease.nimlib.mixpush.vivo.VivoPushReceiver{*;} -keep class com.heytap.msp.** { *;} ##--------友盟消息推送-------- -dontwarn com.taobao.** -keep class org.android.agoo.xiaomi.MiPushBroadcastReceiver {*;} -dontwarn anetwork.channel.** -dontwarn org.android.** -dontwarn org.apache.thrift.** -dontwarn com.xiaomi.push.** -dontwarn com.huawei.** -keepattributes *Annotation* -keep public class **.R$*{ public static final int *; } ##友盟分享-----begin----- -keepclassmembers class * { public (org.json.JSONObject); } -keep public class com.example.newsdemo.R$*{ public static final int *; } ##友盟分享-----end----- ##---------------Begin: proguard configuration for Gson ---------- # Gson uses generic type information stored in a class file when working with fields. Proguard # removes such information by default, so configure it to keep all of it. -keepattributes Signature # For using GSON @Expose annotation -keepattributes *Annotation* # Gson specific classes -keep class sun.misc.Unsafe { *; } #-keep class com.google.gson.stream.** { *; } # Application classes that will be serialized/deserialized over Gson -keep class com.google.gson.examples.android.model.** { *; } #注意:::所有gson涉及的bean与model,serialized/deserialized -keep class cn.shangyu.gdxzExpert.bean.** { *; } -keep class cn.shangyu.gdxzExpert.db.** { *; } -keep class cn.shangyu.gdxzExpert.ecdemo.storage.** { *; } -keep class cn.shangyu.gdxzExpert.ecdemo.ui.chatting.holder.** { *; } -keep class cn.shangyu.gdxzExpert.ecdemo.ui.chatting.model.** { *; } -keep class cn.shangyu.gdxzExpert.widge.pickerview.lib.** { *; } -keep class cn.shangyu.gdxzExpert.protocol.** { *; } ##---------------End: proguard configuration for Gson ---------- #xutils包下所有类不要混淆,包括类里面的方法 -keep class com.lidroid.** { *; } -keep class * extends java.lang.annotation.Annotation { *; } -keepclasseswithmembers class *{ public *; } -dontshrink -dontoptimize -dontwarn com.squareup.okhttp.** -dontwarn android.webkit.WebView -dontwarn com.umeng.** -dontwarn com.tencent.weibo.sdk.** -dontwarn android.support.v4.** -keepattributes Exceptions,InnerClasses,Signature -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -keepattributes EnclosingMethod -keep public class com.umeng.socialize.* {*;} -keep class com.umeng.commonsdk.statistics.common.MLog {*;} -keep class com.umeng.commonsdk.UMConfigure {*;} -keep class com.umeng.socialize.handler.* -keep class com.umeng.weixin.handler.* -keep class com.umeng.qq.handler.* -dontwarn com.tencent.** -dontwarn com.kakao.** -keep public class com.umeng.com.umeng.soexample.R$*{ public static final int *; } -keep public class com.linkedin.android.mobilesdk.R$*{ public static final int *; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class com.tencent.open.TDialog$* -keep class com.tencent.open.TDialog$* {*;} -keep class com.tencent.open.PKDialog$* -keep class com.tencent.open.PKDialog$* {*;} -dontwarn com.sina.** -keepnames class * implements android.os.Parcelable { public static final ** CREATOR; } -keepattributes Signature #删除log代码 -assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); } #ping++ -dontwarn com.alipay.** -keep class com.alipay.** {*;} -dontwarn com.ta.utdid2.** -keep class com.ta.utdid2.** {*;} -dontwarn com.ut.device.** -keep class com.ut.device.** {*;} -dontwarn com.unionpay.** -keep class com.unionpay.** {*;} -dontwarn com.pingplusplus.** -keep class com.pingplusplus.** {*;} -keepclassmembers class * { @android.webkit.JavascriptInterface ; } -dontshrink -dontoptimize -dontwarn com.google.android.maps.** -dontwarn android.webkit.WebView -dontwarn com.umeng.** -dontwarn com.tencent.weibo.sdk.** -dontwarn com.facebook.** -keep public class javax.** -keep public class android.webkit.** -dontwarn androidx.fragment.** -keep enum com.facebook.** -keepattributes Exceptions,InnerClasses,Signature -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -keep public interface com.facebook.** -keep public interface com.tencent.** -keep public interface com.umeng.socialize.** -keep public interface com.umeng.socialize.sensor.** -keep public interface com.umeng.scrshot.** -keep public class com.umeng.socialize.* {*;} -keep class com.facebook.** -keep class com.facebook.** { *; } -keep class com.umeng.scrshot.** -keep public class com.tencent.** {*;} -keep class com.umeng.socialize.sensor.** -keep class com.umeng.socialize.handler.** -keep class com.umeng.socialize.handler.* -keep class com.umeng.weixin.handler.** -keep class com.umeng.weixin.handler.* -keep class com.umeng.qq.handler.** -keep class com.umeng.qq.handler.* -keep class UMMoreHandler{*;} -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;} -keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;} -keep class im.yixin.sdk.api.YXMessage {*;} -keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;} -keep class com.tencent.mm.sdk.** { *; } -keep class com.tencent.mm.opensdk.** { *; } -keep class com.tencent.wxop.** { *; } -keep class com.tencent.mm.sdk.** { *; } -dontwarn twitter4j.** -keep class twitter4j.** { *; } -keep class com.tencent.** {*;} -dontwarn com.tencent.** -keep class com.kakao.** {*;} -dontwarn com.kakao.** -keep public class com.umeng.com.umeng.soexample.R$*{ public static final int *; } -keep public class com.linkedin.android.mobilesdk.R$*{ public static final int *; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class com.tencent.open.TDialog$* -keep class com.tencent.open.TDialog$* {*;} -keep class com.tencent.open.PKDialog -keep class com.tencent.open.PKDialog {*;} -keep class com.tencent.open.PKDialog$* -keep class com.tencent.open.PKDialog$* {*;} -keep class com.umeng.socialize.impl.ImageImpl {*;} -keep class com.sina.** {*;} -dontwarn com.sina.** -keep class com.alipay.share.sdk.** { *; } -keepnames class * implements android.os.Parcelable { public static final ** CREATOR; } -keep class com.linkedin.** { *; } -keep class com.android.dingtalk.share.ddsharemodule.** { *; } -keepattributes Signature -keep class com.iflytek.**{*;} -keepattributes Signature -ignorewarnings -keepattributes EnclosingMethod -keepattributes InnerClasses #表示混淆时不使用大小写混合类名 -dontusemixedcaseclassnames #表示不跳过library中的非public的类 -dontskipnonpubliclibraryclasses #打印混淆的详细信息 #表示混淆时不使用大小写混合类名 polyv混淆 -dontusemixedcaseclassnames #表示不跳过library中的非public的类 -dontskipnonpubliclibraryclasses #打印混淆的详细信息 -verbose # Optimization is turned off by default. Dex does not like code run # through the ProGuard optimize and preverify steps (and performs some # of these optimizations on its own). -dontoptimize ##表示不进行校验,这个校验作用 在java平台上的 -dontpreverify # Note that if you want to enable optimization, you cannot just # include optimization flags in your own project configuration file; # instead you will need to point to the # "proguard-android-optimize.txt" file instead of this one from your # project.properties file. -keepattributes *Annotation* -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native -keepclasseswithmembernames class * { native ; } # keep setters in Views so that animations can still work. # see http://proguard.sourceforge.net/manual/examples.html#beans -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } # We want to keep methods in Activity that could be used in the XML attribute onClick -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembers class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator CREATOR; } -keepclassmembers class **.R$* { public static ; } # The support library contains references to newer platform versions. # Don't warn about those in case this app is linking against an older # platform version. We know about them, and they are safe. -dontwarn android.support.** # Understand the @Keep support annotation. -keep class android.support.annotation.Keep -keep @android.support.annotation.Keep class * {*;} -keepclasseswithmembers class * { @android.support.annotation.Keep ; } -keepclasseswithmembers class * { @android.support.annotation.Keep ; } -keepclasseswithmembers class * { @android.support.annotation.Keep (...); } #忽略警告 -ignorewarnings #保证是独立的jar,没有任何项目引用,如果不写就会认为我们所有的代码是无用的,从而把所有的代码压缩掉,导出一个空的jar -dontshrink #保护泛型 -keepattributes Signature -keep class com.easefun.polyvsdk.**{*;} -keep class com.chinanetcenter.wcs.**{*;} -keep class org.apache.http.**{*;} -keep class tv.danmaku.ijk.media.**{*;} -keep class net.lingala.zip4j.**{*;} -keep class org.apache.commons.compress.**{*;} ###jmdns -keep class javax.jmdns.** { *; } -dontwarn javax.jmdns.** ###CyberGarage-upnp -keep class org.cybergarage.** { *; } -dontwarn org.cybergarage.** ###plist -keep class com.dd.plist.** { *; } -dontwarn com.dd.plist.** ###Lebo -keep class com.hpplay.**{*;} -keep class com.hpplay.**$*{*;} -dontwarn com.hpplay.** -ignorewarning -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.hianalytics.android.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;} -keep class com.huawei.android.hms.agent.**{*;} # Ping++ 混淆过滤 -dontwarn com.pingplusplus.** -keep class com.pingplusplus.** {*;} -keep public class com.pingplusplus.android.Pingpp$CmbPayMethod { *; } # 支付宝混淆过滤 -dontwarn com.alipay.** -keep class com.alipay.** {*;} # 微信或 QQ 钱包混淆过滤 -dontwarn com.tencent.** -keep class com.tencent.** {*;} # 银联支付混淆过滤 -dontwarn com.unionpay.** -keep class com.unionpay.** {*;} # 内部 WebView 混淆过滤 -keepclassmembers class * { @android.webkit.JavascriptInterface ; }