2020-04-02 10:43:40 +08:00
|
|
|
# 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
|
|
|
|
-optimizationpasses 5
|
|
|
|
-dontusemixedcaseclassnames
|
|
|
|
-dontskipnonpubliclibraryclasses
|
|
|
|
-dontpreverify
|
|
|
|
-verbose
|
2020-05-14 16:22:03 +08:00
|
|
|
-ignorewarnings
|
2020-04-02 10:43:40 +08:00
|
|
|
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
|
|
|
|
|
|
|
|
# 保留行号
|
|
|
|
-keepattributes SourceFile,LineNumberTable
|
|
|
|
|
|
|
|
#-dontwarn #//dontwarn去掉警告
|
|
|
|
#-dontskipnonpubliclibraryclassmembers
|
|
|
|
#-keep public class * extends android.app.Fragment
|
|
|
|
-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.preference.Preference
|
|
|
|
#-keep public class * extends android.support.v4.**
|
|
|
|
-keep public class com.android.vending.licensing.ILicensingService
|
|
|
|
-keepclasseswithmembernames class * {
|
|
|
|
native <methods>;
|
|
|
|
}
|
|
|
|
#-keepclasseswithmembernames class * {
|
|
|
|
# public <init>(android.content.Context, android.util.AttributeSet);
|
|
|
|
#}
|
|
|
|
#-keepclasseswithmembernames class * {
|
|
|
|
# public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
|
|
#}
|
|
|
|
#----------------enum-----------------
|
|
|
|
-keepclassmembers enum * {
|
|
|
|
public static **[] values();
|
|
|
|
public static ** valueOf(java.lang.String);
|
|
|
|
}
|
|
|
|
#----------------Parcelable-----------------
|
|
|
|
-keepclassmembers class * implements android.os.Parcelable {
|
|
|
|
static ** CREATOR;
|
|
|
|
<fields>;
|
|
|
|
<methods>;
|
|
|
|
}
|
|
|
|
-keepnames class * implements android.os.Parcelable {
|
|
|
|
public static final ** CREATOR;
|
|
|
|
}
|
|
|
|
|
|
|
|
-keep class * implements java.io.Serializable {
|
|
|
|
*;
|
|
|
|
}
|
|
|
|
##---------------Begin: proguard configuration for Gson ----------
|
|
|
|
# Gson specific classes
|
|
|
|
-dontwarn sun.misc.**
|
|
|
|
|
|
|
|
-keep class com.google.gson.**{*;}
|
|
|
|
|
|
|
|
#-keep class com.google.gson.stream.** { *; }
|
|
|
|
|
|
|
|
# Application classes that will be serialized/deserialized over Gson
|
|
|
|
-keep class com.google.gson.examples.android.model.** { *; }
|
|
|
|
|
|
|
|
# Prevent proguard from stripping interface information from TypeAdapterFactory,
|
|
|
|
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
|
|
|
|
-keep class * implements com.google.gson.TypeAdapterFactory
|
|
|
|
-keep class * implements com.google.gson.JsonSerializer
|
|
|
|
-keep class * implements com.google.gson.JsonDeserializer
|
|
|
|
|
|
|
|
-keepattributes Signature
|
|
|
|
-keepattributes *Annotation*
|
|
|
|
|
|
|
|
#----------------android-----------------
|
|
|
|
-dontwarn android.**
|
|
|
|
-keep class android.** { *;}
|
|
|
|
#----------------v4-----------------
|
|
|
|
-dontwarn android.support.v4.**
|
|
|
|
-keep class android.support.v4.** { *; }
|
|
|
|
#----------------v7-----------------
|
|
|
|
-dontwarn android.support.v7.**
|
|
|
|
-keep class android.support.v7.** { *;}
|
|
|
|
|
|
|
|
#----------------EventBus事件巴士-----------------
|
|
|
|
-keepclassmembers class ** {
|
|
|
|
@org.greenrobot.eventbus.Subscribe <methods>;
|
|
|
|
}
|
|
|
|
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
|
|
|
|
|
|
|
# Only required if you use AsyncExecutor
|
|
|
|
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
|
|
|
<init>(Java.lang.Throwable);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#-------------云信相关的混淆配置------------
|
|
|
|
-dontwarn com.netease.**
|
|
|
|
-keep class com.netease.** {*;}
|
|
|
|
|
|
|
|
# Presenter 相关
|
|
|
|
-keep class com.yizhuan.erban.base.** { *; }
|
|
|
|
-keep public class * extends com.yizhuan.erban.base.BaseMvpPresenter
|
|
|
|
-keep public class * extends com.yizhuan.xchat_android_library.base.AbstractMvpPresenter
|
|
|
|
|
|
|
|
# 云信自定义 ViewHolder 配置
|
|
|
|
-dontwarn com.yizhuan.erban.ui.im.recent.holder.**
|
|
|
|
-keep class com.yizhuan.erban.ui.im.recent.holder.** {*;}
|
|
|
|
-keep class com.yizhuan.erban.ui.im.chat.** {*;}
|
|
|
|
-keep class com.yizhuan.erban.luckymoney.viewholder.** {*;}
|
|
|
|
-keep class com.yizhuan.erban.share.viewholder.** {*;}
|
|
|
|
-keep class com.yizhuan.erban.public_chat_hall.msg.viewholder.** {*;}
|
|
|
|
-keep class com.yizhuan.erban.module_hall.im.msgholder.** {*;}
|
|
|
|
-keep class com.yizhuan.tutu.mentoring_relationship.viewholder.** {*;}
|
|
|
|
-keep public class * extends com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder {*;}
|
|
|
|
-keep public class * extends com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase {*;}
|
|
|
|
|
|
|
|
#如果你使用全文检索插件,需要加入
|
|
|
|
-dontwarn org.apache.lucene.**
|
|
|
|
-keep class org.apache.lucene.** {*;}
|
|
|
|
|
|
|
|
# 云信集成小米推送
|
|
|
|
-dontwarn com.xiaomi.push.**
|
|
|
|
-keep class com.xiaomi.** {*;}
|
|
|
|
|
2020-05-14 16:22:03 +08:00
|
|
|
-keep class io.realm.**
|
|
|
|
|
2020-04-02 10:43:40 +08:00
|
|
|
# 云信集成华为推送
|
2020-07-24 14:05:51 +08:00
|
|
|
-ignorewarnings
|
2020-04-02 10:43:40 +08:00
|
|
|
-keepattributes *Annotation*
|
|
|
|
-keepattributes Exceptions
|
2020-07-27 18:00:04 +08:00
|
|
|
-keepattributes InnerClasses
|
2020-04-02 10:43:40 +08:00
|
|
|
-keepattributes Signature
|
2020-07-27 18:00:04 +08:00
|
|
|
-keepattributes SourceFile,LineNumberTable
|
|
|
|
-keep class com.hianalytics.android.**{*;}
|
|
|
|
-keep class com.huawei.updatesdk.**{*;}
|
|
|
|
-keep class com.huawei.hms.**{*;}
|
|
|
|
-keep class com.huawei.agconnect.**{*;}
|
|
|
|
|
|
|
|
|
2020-04-02 10:43:40 +08:00
|
|
|
# hmscore-support: remote transport
|
|
|
|
-keep class * extends com.huawei.hms.core.aidl.IMessageEntity { *; }
|
|
|
|
# hmscore-support: remote transport
|
|
|
|
-keepclasseswithmembers class * implements com.huawei.hms.support.api.transport.DatagramTransport {
|
|
|
|
<init>(...); }
|
|
|
|
# manifest: provider for updates
|
|
|
|
-keep public class com.huawei.hms.update.provider.UpdateProvider { public *; protected *; }
|
|
|
|
|
|
|
|
# 云信集成魅族推送
|
|
|
|
-dontwarn com.meizu.cloud.**
|
|
|
|
-keep class com.meizu.cloud.** {*;}
|
|
|
|
#-------------云信相关的混淆配置------------
|
|
|
|
|
|
|
|
|
|
|
|
#-------------TakePhoto的混淆配置------------
|
|
|
|
-keep class com.jph.takephoto.** { *; }
|
|
|
|
-dontwarn com.jph.takephoto.**
|
|
|
|
|
|
|
|
-keep class com.darsh.multipleimageselect.** { *; }
|
|
|
|
-dontwarn com.darsh.multipleimageselect.**
|
|
|
|
|
|
|
|
-keep class com.soundcloud.android.crop.** { *; }
|
|
|
|
-dontwarn com.soundcloud.android.crop.**
|
|
|
|
|
|
|
|
#-------------TakePhoto的混淆配置------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#腾讯崩溃收集
|
|
|
|
-dontwarn com.tencent.bugly.**
|
|
|
|
-keep public class com.tencent.bugly.**{*;}
|
|
|
|
|
|
|
|
# glide4.0
|
|
|
|
-keep public class * implements com.bumptech.glide.module.GlideModule
|
|
|
|
-keep public class * extends com.bumptech.glide.module.AppGlideModule
|
|
|
|
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
|
|
|
|
**[] $VALUES;
|
|
|
|
public *;
|
|
|
|
}
|
|
|
|
# for DexGuard only
|
|
|
|
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
|
|
|
|
|
|
|
|
# BaseAdapter
|
|
|
|
-keep class com.chad.library.adapter.** {
|
|
|
|
*;
|
|
|
|
}
|
2020-05-14 16:22:03 +08:00
|
|
|
-keep class com.chad.library.adapter.base.entity.MultiItemEntity
|
2020-04-02 10:43:40 +08:00
|
|
|
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
|
|
|
|
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
|
|
|
|
-keepclassmembers class **$** extends com.chad.library.adapter.base.BaseViewHolder {
|
|
|
|
<init>(...);
|
|
|
|
}
|
|
|
|
|
|
|
|
-dontwarn com.yizhuan.erban.bindadapter.**
|
|
|
|
-keep class com.yizhuan.erban.bindadapter.** {*;}
|
|
|
|
|
|
|
|
# Ping++ 混淆过滤
|
|
|
|
-dontwarn com.pingplusplus.**
|
|
|
|
-keep class com.pingplusplus.** {*;}
|
|
|
|
# 支付宝混淆过滤
|
|
|
|
-dontwarn com.alipay.**
|
|
|
|
-keep class com.alipay.** {*;}
|
|
|
|
# 微信或QQ钱包混淆过滤
|
|
|
|
-dontwarn com.tencent.**
|
|
|
|
-keep class com.tencent.** {*;}
|
|
|
|
|
|
|
|
# 银联支付混淆过滤
|
|
|
|
#-dontwarn com.unionpay.**
|
|
|
|
#-keep class com.unionpay.** {*;}
|
|
|
|
#
|
|
|
|
## 招行一网通混淆过滤
|
|
|
|
#-keepclasseswithmembers class cmb.pb.util.CMBKeyboardFunc {
|
|
|
|
# public <init>(android.app.Activity);
|
|
|
|
# public boolean HandleUrlCall(android.webkit.WebView,java.lang.String);
|
|
|
|
# public void callKeyBoardActivity();
|
|
|
|
#}
|
|
|
|
|
|
|
|
# 内部WebView混淆过滤
|
|
|
|
-keepclassmembers class * {
|
|
|
|
@android.webkit.JavascriptInterface <methods>;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# TODO 网络加载 一些业务bean gson 时候混淆问题
|
|
|
|
-keep class org.json.** {*;}
|
|
|
|
-dontwarn com.yizhuan.xchat_android_core.**
|
|
|
|
-keep class com.yizhuan.xchat_android_core.** {*;}
|
|
|
|
|
|
|
|
|
|
|
|
#百度统计
|
|
|
|
-keep class com.baidu.bottom.** { *; }
|
|
|
|
-keep class com.baidu.kirin.** { *; }
|
|
|
|
-keep class com.baidu.mobstat.** { *; }
|
|
|
|
|
|
|
|
-keep class io.agora.** { *; }
|
|
|
|
|
|
|
|
# 七牛
|
|
|
|
-keep class com.qiniu.**{*;}
|
|
|
|
-keep class com.qiniu.**{public <init>();}
|
|
|
|
-ignorewarnings
|
|
|
|
|
|
|
|
# shareSdk
|
2020-05-14 16:22:03 +08:00
|
|
|
-keep class cn.sharesdk.**
|
|
|
|
-keep class com.mob.**
|
2020-04-02 10:43:40 +08:00
|
|
|
-keep class cn.sharesdk.**{*;}
|
|
|
|
-keep class com.sina.**{*;}
|
|
|
|
-keep class **.R$* {*;}
|
|
|
|
-keep class **.R{*;}
|
|
|
|
-keep class com.mob.**{*;}
|
|
|
|
-dontwarn com.mob.**
|
|
|
|
-dontwarn cn.sharesdk.**
|
|
|
|
-dontwarn **.R$*
|
|
|
|
|
|
|
|
# fastjson
|
|
|
|
-dontwarn com.alibaba.fastjson.**
|
|
|
|
-keep class com.alibaba.fastjson.**{*; }
|
|
|
|
|
|
|
|
# retrofit2
|
|
|
|
# Platform calls Class.forName on types which do not checkExist on Android to determine platform.
|
|
|
|
-dontnote retrofit2.Platform
|
|
|
|
# Platform used when running on Java 8 VMs. Will not be used at runtime.
|
|
|
|
-dontwarn retrofit2.Platform$Java8
|
|
|
|
# Retain declared checked exceptions for use by a Proxy instance.
|
|
|
|
-keepattributes Exceptions
|
|
|
|
|
|
|
|
# okhttp3
|
|
|
|
-dontwarn okhttp3.**
|
|
|
|
# okio
|
|
|
|
-dontwarn okio.**
|
|
|
|
# A resource is loaded with a relative path so the package of this class must be preserved.
|
|
|
|
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
|
|
|
|
|
|
|
|
# Aliyun oss
|
|
|
|
-keep class com.taobao.securityjni.**{*;}
|
|
|
|
-keep class com.taobao.wireless.security.**{*;}
|
|
|
|
-keep class com.ut.secbody.**{*;}
|
|
|
|
-keep class com.taobao.dp.**{*;}
|
|
|
|
-keep class com.alibaba.wireless.security.**{*;}
|
|
|
|
-keep class com.alibaba.security.rp.**{*;}
|
|
|
|
-keep class com.alibaba.sdk.android.**{*;}
|
|
|
|
-keep class com.alibaba.security.biometrics.**{*;}
|
|
|
|
-keep class android.taobao.windvane.**{*;}
|
2020-05-14 16:22:03 +08:00
|
|
|
-dontwarn com.alibaba.**
|
|
|
|
-dontwarn com.taobao.**
|
|
|
|
-dontwarn com.google.**
|
|
|
|
-dontwarn edu.umd.cs.**
|
|
|
|
-dontwarn org.apache.**
|
|
|
|
-dontwarn com.amap.**
|
2020-04-02 10:43:40 +08:00
|
|
|
#网易七鱼客服系统
|
|
|
|
-dontwarn com.qiyukf.**
|
|
|
|
-keep class com.qiyukf.** {*;}
|
|
|
|
|
|
|
|
# 确保openFileChooser方法不被混淆
|
|
|
|
-keepclassmembers class * extends android.webkit.WebChromeClient{
|
|
|
|
public void openFileChooser(...);
|
|
|
|
}
|
|
|
|
|
|
|
|
#高德地图
|
|
|
|
-keep class com.amap.api.location.**{*;}
|
|
|
|
-keep class com.amap.api.fence.**{*;}
|
|
|
|
-keep class com.autonavi.aps.amapapi.model.**{*;}
|
|
|
|
|
|
|
|
#暂时keep这个View排查华为oom问题
|
|
|
|
-keep class com.yizhuan.erban.avroom.widget.MicroView{*;}
|
|
|
|
-keep class com.jude.rollviewpager.RollPagerView{*;}
|
|
|
|
|
|
|
|
#linkedMe
|
|
|
|
-keep class com.microquation.linkedme.android.** { *; }
|
2020-04-07 16:41:24 +08:00
|
|
|
|
|
|
|
# vivo推送
|
|
|
|
-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{*;}
|
|
|
|
|
|
|
|
#一键登录
|
|
|
|
-dontwarn com.cmic.sso.sdk.**
|
|
|
|
-keep public class com.cmic.sso.sdk.**{*;}
|
|
|
|
-keep class cn.com.chinatelecom.account.api.**{*;}
|
|
|
|
-keep class com.netease.nis.quicklogin.entity.**{*;}
|
|
|
|
-keep class com.netease.nis.quicklogin.listener.**{*;}
|
|
|
|
-keep class com.netease.nis.quicklogin.QuickLogin{
|
|
|
|
public <methods>;
|
|
|
|
public <fields>;
|
|
|
|
}
|
|
|
|
-keep class com.netease.nis.quicklogin.helper.UnifyUiConfig{*;}
|
|
|
|
-keep class com.netease.nis.quicklogin.helper.UnifyUiConfig$Builder{
|
|
|
|
public <methods>;
|
|
|
|
public <fields>;
|
|
|
|
}
|
|
|
|
-keep class com.netease.nis.quicklogin.utils.LoginUiHelper$CustomViewListener{
|
|
|
|
public <methods>;
|
|
|
|
public <fields>;
|
|
|
|
}
|
2020-06-08 20:54:09 +08:00
|
|
|
-keep class com.bun.miitmdid.core.** {*;}
|
2020-06-09 18:06:21 +08:00
|
|
|
-keep class com.bun.** {*;}
|
|
|
|
-keep class com.asus.msa.** {*;}
|
|
|
|
-keep class com.heytap.openid.** {*;}
|
|
|
|
-keep class com.huawei.android.hms.pps.** {*;}
|
|
|
|
-keep class com.meizu.flyme.openidsdk.** {*;}
|
|
|
|
-keep class com.samsung.android.deviceidservice.** {*;}
|
|
|
|
-keep class com.zui.** {*;}
|
|
|
|
-keep class com.huawei.hms.ads.** {*; }
|
|
|
|
-keep interface com.huawei.hms.ads.** {*; }
|
2020-04-07 16:41:24 +08:00
|
|
|
-dontwarn com.sdk.**
|
|
|
|
-keep class com.sdk.** { *;}
|
2020-05-14 16:22:03 +08:00
|
|
|
-dontwarn io.realm.**
|
2020-08-20 10:27:57 +08:00
|
|
|
|
|
|
|
-keep public class * extends android.app.Service
|
|
|
|
|
|
|
|
-dontwarn com.meizu.cloud.**
|
|
|
|
-keep class com.meizu.cloud.** {*;}
|
2020-12-02 16:51:24 +08:00
|
|
|
|
|
|
|
-keep class com.yizhuan.erban.ui.widget.AppBarLayoutBehavior {*;}
|
2020-12-21 16:12:22 +08:00
|
|
|
|
|
|
|
#ViewBinding使用的反射生成的对应Binding
|
|
|
|
-keepclassmembers class * implements androidx.viewbinding.ViewBinding {
|
|
|
|
public static ** inflate(***);
|
|
|
|
}
|
|
|
|
|