第一次提交
This commit is contained in:
451
app/proguard-rules.pro
vendored
Normal file
451
app/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,451 @@
|
||||
# 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
|
||||
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
public *;
|
||||
}
|
||||
#指定代码的压缩级别
|
||||
-optimizationpasses 5
|
||||
|
||||
#包明不混合大小写
|
||||
-dontusemixedcaseclassnames
|
||||
|
||||
#不去忽略非公共的库类
|
||||
-dontskipnonpubliclibraryclasses
|
||||
|
||||
#优化 不优化输入的类文件
|
||||
-dontoptimize
|
||||
|
||||
#预校验
|
||||
-dontpreverify
|
||||
|
||||
#混淆时是否记录日志
|
||||
-verbose
|
||||
|
||||
# 混淆时所采用的算法
|
||||
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
|
||||
|
||||
#忽略警告
|
||||
-ignorewarning
|
||||
|
||||
|
||||
-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.app.backup.BackupAgentHelper
|
||||
-keep public class * extends android.preference.Preference
|
||||
|
||||
-keep class com.bikao.cleanmark.view.** { *; }
|
||||
-keep class com.coremedia.iso.** {*;}
|
||||
-keep class nu.xom.** {*;}
|
||||
-keep class com.googlecode.mp4parser.** {*;}
|
||||
-keep class com.mp4parser.** {*;}
|
||||
-keep class com.coremedia.iso.** {*;}
|
||||
-keep class org.aspectj.** {*;}
|
||||
|
||||
-keep class jp.co.recruit_lifestyle.android.floatingview.** {*;}
|
||||
|
||||
# 如果有引用v4包可以添加下面这行
|
||||
-keep class android.support.v4.**{ *;}
|
||||
|
||||
# 如果引用了v4或者v7包
|
||||
-dontwarn android.support.**
|
||||
|
||||
# 保持 native 方法不被混淆
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
-keep class com.bikao.dkplayer.** {*;}
|
||||
|
||||
# 保护注解
|
||||
-keepattributes *Annotation*
|
||||
-keep class * extends java.lang.annotation.Annotation {*;}
|
||||
|
||||
# 泛型与反射
|
||||
-keepattributes Signature
|
||||
-keepattributes EnclosingMethod
|
||||
|
||||
# 不混淆内部类
|
||||
-keepattributes InnerClasses
|
||||
|
||||
# gson
|
||||
-dontwarn com.google.**
|
||||
-keep class com.google.gson.** {*;}
|
||||
|
||||
|
||||
#保持枚举 enum 类不被混淆
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
# otto混淆规则
|
||||
-keepattributes *Annotation*
|
||||
-keepclassmembers class ** {
|
||||
@com.squareup.otto.Subscribe public *;
|
||||
@com.squareup.otto.Produce public *;
|
||||
}
|
||||
#所有bean都不要混淆
|
||||
-keep class * implements java.io.Serializable {*;}
|
||||
-keepclassmembers class * implements java.io.Serializable {*;}
|
||||
-keep class * implements java.lang.Comparable {*;}
|
||||
-keepclassmembers class * implements java.lang.Comparable {*;}
|
||||
-keep class com.bikao.cleanmark.bean.** { *; }
|
||||
|
||||
#一般网络层都不进行混淆
|
||||
-keep class com.xxx.xxx.http.** {*;}
|
||||
|
||||
#如果你遇到一些控件无法Inflate,报NullPointException,比如ListView,NavigationView等等
|
||||
#-keep class org.xmlpull.v1.** {*;}
|
||||
|
||||
# OkHttp
|
||||
-dontwarn com.squareup.okhttp.**
|
||||
-keep class com.squareup.okhttp.** {*;}
|
||||
-keep interface com.squareup.okhttp.** {*;}
|
||||
-dontwarn okio.**
|
||||
|
||||
# Realm
|
||||
-keep class io.realm.annotations.RealmModule
|
||||
-keep @io.realm.annotations.RealmModule class *
|
||||
-keep class io.realm.internal.Keep
|
||||
-keep @io.realm.internal.Keep class * { *; }
|
||||
-dontwarn javax.**
|
||||
-dontwarn io.realm.**
|
||||
|
||||
#友盟
|
||||
-keep class com.umeng.** {*;}
|
||||
|
||||
-keep class com.uc.** {*;}
|
||||
|
||||
-keepclassmembers class * {
|
||||
public <init> (org.json.JSONObject);
|
||||
}
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
-keep class com.zui.** {*;}
|
||||
-keep class com.miui.** {*;}
|
||||
-keep class com.heytap.** {*;}
|
||||
-keep class a.** {*;}
|
||||
-keep class com.vivo.** {*;}
|
||||
|
||||
-keep public class com.adwl.location.R$*{
|
||||
public static final int *;
|
||||
}
|
||||
|
||||
#lambda
|
||||
-dontwarn java.lang.invoke.*
|
||||
-dontwarn **$$Lambda$*
|
||||
|
||||
#基线包使用,生成mapping.txt
|
||||
-printmapping mapping.txt
|
||||
#生成的mapping.txt在app/buidl/outputs/mapping/release路径下,移动到/app路径下
|
||||
|
||||
#修复后的项目使用,保证混淆结果一致
|
||||
#-applymapping mapping.txt
|
||||
|
||||
#Glide
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
|
||||
**[] $VALUES;
|
||||
public *;
|
||||
}
|
||||
|
||||
-keep class com.bytedance.sdk.openadsdk.** { *; }
|
||||
-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
|
||||
-keep class com.pgl.sys.ces.* {*;}
|
||||
|
||||
# for DexGuard only
|
||||
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
|
||||
|
||||
#butterknife
|
||||
-dontwarn butterknife.internal.**
|
||||
# -keep class butterknife.** { *; }
|
||||
# -dontwarn butterknife.internal.**
|
||||
# -keep class **$$ViewBinder { *; }
|
||||
# -keepclasseswithmembernames class * { @butterknife.* <fields>;}
|
||||
# -keepclasseswithmembernames class * { @butterknife.* <methods>;}
|
||||
|
||||
#SweetAlert
|
||||
-keep class cn.pedant.SweetAlert.**{*;}
|
||||
-keep class cn.pedant.SweetAlert.Rotate3dAnimation {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
#retrofit2
|
||||
# Platform calls Class.forName on typeswhich do not exist on Android to determine platform.
|
||||
-dontnote retrofit2.Platform
|
||||
|
||||
# Platform used when running on RoboVM oniOS. Will not be used at runtime.
|
||||
-dontnote retrofit2.Platform$IOS$MainThreadExecutor
|
||||
|
||||
# Platform used when running on Java 8 VMs.Will not be used at runtime.
|
||||
-dontwarn retrofit2.Platform$Java8
|
||||
|
||||
# Retain generic type information for useby reflection by converters and adapters.
|
||||
-keepattributes Signature
|
||||
|
||||
# Retain declared checked exceptions foruse by a Proxy instance.
|
||||
-keepattributes Exceptions
|
||||
|
||||
# Retrofit
|
||||
-dontwarn retrofit2.**
|
||||
-keep class retrofit2.** { *; }
|
||||
|
||||
# Retrolambda
|
||||
-dontwarn java.lang.invoke.*
|
||||
|
||||
|
||||
# RxJava RxAndroid
|
||||
-dontwarn sun.misc.**
|
||||
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
|
||||
long producerIndex;
|
||||
long consumerIndex;
|
||||
}
|
||||
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
|
||||
rx.internal.util.atomic.LinkedQueueNode producerNode;
|
||||
}
|
||||
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
|
||||
rx.internal.util.atomic.LinkedQueueNode consumerNode;
|
||||
}
|
||||
|
||||
# EventBus混淆
|
||||
-keepclassmembers class ** {
|
||||
public void onEvent*(***);
|
||||
}
|
||||
# Only required if you use AsyncExecutor
|
||||
-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
|
||||
public <init>(java.lang.Throwable);
|
||||
}
|
||||
# Don't warn for missing support classes
|
||||
-dontwarn de.greenrobot.event.util.*$Support
|
||||
-dontwarn de.greenrobot.event.util.*$SupportManagerFragment
|
||||
|
||||
-keep class com.gyf.immersionbar.* {*;}
|
||||
-dontwarn com.gyf.immersionbar.**
|
||||
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
-keep public class com.bikao.cleanmark.R$*{
|
||||
public static final int *;
|
||||
}
|
||||
|
||||
#ijk
|
||||
#ijkplayer
|
||||
-keep class tv.danmaku.ijk.media.player.** {*;}
|
||||
-keep class tv.danmaku.ijk.media.player.IjkMediaPlayer{*;}
|
||||
-keep class tv.danmaku.ijk.media.player.ffmpeg.FFmpegApi{*;}
|
||||
|
||||
# //smack
|
||||
-keep class org.jxmpp.** {*;}
|
||||
-keep class de.measite.** {*;}
|
||||
-keep class org.jivesoftware.** {*;}
|
||||
-keep class org.xmlpull.** {*;}
|
||||
-dontwarn org.xbill.**
|
||||
-keep class org.xbill.** {*;}
|
||||
|
||||
# //eventbus
|
||||
-keepattributes *Annotation*
|
||||
-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);
|
||||
}
|
||||
|
||||
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
|
||||
-keep @com.facebook.common.internal.DoNotStrip class *
|
||||
-keepclassmembers class * {
|
||||
@com.facebook.common.internal.DoNotStrip *;
|
||||
}
|
||||
# Keep native methods
|
||||
-keepclassmembers class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
-dontwarn okio.**
|
||||
-dontwarn com.squareup.okhttp.**
|
||||
-dontwarn okhttp3.**
|
||||
-dontwarn javax.annotation.**
|
||||
-dontwarn com.android.volley.toolbox.**
|
||||
-dontwarn com.facebook.infer.**
|
||||
|
||||
|
||||
|
||||
-keep class com.iflytek.**{*;}
|
||||
|
||||
#UShare
|
||||
-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 android.support.v4.**
|
||||
-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.** {
|
||||
*;
|
||||
}
|
||||
-keep class com.umeng.** {*;}
|
||||
-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.** {
|
||||
*;
|
||||
}
|
||||
-keep class * implements android.os.Parcelable {*;}
|
||||
|
||||
-keepnames class * implements android.os.Parcelable {
|
||||
public static final ** CREATOR;
|
||||
}
|
||||
-keepclassmembers class * implements android.os.Parcelable {*;}
|
||||
|
||||
-keep class com.linkedin.** { *; }
|
||||
-keep class com.android.dingtalk.share.ddsharemodule.** { *; }
|
||||
-keepattributes Signature
|
||||
#UShare
|
||||
|
||||
|
||||
# 请开发者根据自己实际情况给第三方库的添加相应的混淆设置
|
||||
-dontwarn com.androidquery.**
|
||||
-keep class com.androidquery.** { *;}
|
||||
|
||||
-dontwarn tv.danmaku.**
|
||||
-keep class tv.danmaku.** { *;}
|
||||
|
||||
-dontwarn androidx.**
|
||||
|
||||
# 如果使用了tbs版本的sdk需要进行以下配置
|
||||
-keep class com.tencent.smtt.** { *; }
|
||||
-dontwarn dalvik.**
|
||||
-dontwarn com.tencent.smtt.**
|
||||
|
||||
-keep class com.google.android.exoplayer2.** { *; }
|
||||
-dontwarn com.google.android.exoplayer2.**
|
||||
|
||||
-keep class com.aplayer.** { *; }
|
||||
-dontwarn com.aplayer.**
|
||||
|
||||
-dontwarn com.tencent.bugly.**
|
||||
-keep public class com.tencent.bugly.**{*;}
|
||||
|
||||
|
||||
-keep class com.lljjcoder.**{
|
||||
*;
|
||||
}
|
||||
|
||||
-dontwarn demo.**
|
||||
-keep class demo.**{*;}
|
||||
-dontwarn net.sourceforge.pinyin4j.**
|
||||
-keep class net.sourceforge.pinyin4j.**{*;}
|
||||
-keep class net.sourceforge.pinyin4j.format.**{*;}
|
||||
-keep class net.sourceforge.pinyin4j.format.exception.**{*;}
|
||||
|
||||
-keepattributes *Annotation*
|
||||
-keepattributes Exceptions
|
||||
-keepattributes InnerClasses
|
||||
-keepattributes Signature
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
-keep class com.bytedance.sdk.openadsdk.** { *; }
|
||||
-keep class com.bytedance.frameworks.** { *; }
|
||||
|
||||
-keep class ms.bd.c.Pgl.**{*;}
|
||||
-keep class com.bytedance.mobsec.metasec.ml.**{*;}
|
||||
|
||||
-keep class com.ss.android.**{*;}
|
||||
|
||||
-keep class com.bytedance.embedapplog.** {*;}
|
||||
-keep class com.bytedance.embed_dr.** {*;}
|
||||
|
||||
-keep class com.bykv.vk.** {*;}
|
||||
|
||||
-ignorewarnings
|
||||
Reference in New Issue
Block a user