123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449 |
- -optimizationpasses 5 # 指定代码的压缩级别
- -dontwarn
- -dontusemixedcaseclassnames # 是否使用大小写混合
- -dontskipnonpubliclibraryclasses # 是否混淆第三方jar
- -dontpreverify # 混淆时是否做预校验
- -verbose # 混淆时是否记录日志
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法
- -ignorewarnings
- -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 public class com.android.vending.licensing.ILicensingService
- # 保持 native 方法不被混淆
- -keepclasseswithmembernames class * {
- native <methods>;
- }
- -keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet);
- }
- # 保持自定义控件类不被混淆
- -keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
- }
- # 保持自定义控件类不被混淆
- -keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- }
- # 保持枚举 enum 类不被混淆
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- # 保持 Parcelable 不被混淆
- -keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
- }
- # 保持自己定义的类不被混淆
- -keep class MyClass
- #如果有引用v4包可以添加下面这行
- -keep class android.support.v4.** { *; }
- -keep public class * extends android.support.v4.**
- -keep public class * extends android.app.Fragment
- #如果引用了v4或者v7包,可以忽略警告,因为用不到android.support
- -dontwarn android.support.**
- #保持自定义组件不被混淆
- -keep public class * extends android.view.View {
- public <init>(android.content.Context);
- public <init>(android.content.Context, android.util.AttributeSet);
- public <init>(android.content.Context, android.util.AttributeSet, int);
- public void set*(...);
- }
- #保持 Serializable 不被混淆
- -keepnames class * implements java.io.Serializable
- #保持 Serializable 不被混淆并且enum 类也不被混淆
- -keepclassmembers class * implements java.io.Serializable {
- static final long serialVersionUID;
- private static final java.io.ObjectStreamField[] serialPersistentFields;
- private void writeObject(java.io.ObjectOutputStream);
- private void readObject(java.io.ObjectInputStream);
- java.lang.Object writeReplace();
- java.lang.Object readResolve();
- }
- #保持枚举 enum 类不被混淆 如果混淆报错,建议直接使用上面的 -keepclassmembers class * implements java.io.Serializable即可
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keepclassmembers class * {
- public void *ButtonClicked(android.view.View);
- }
- #不混淆资源类
- -keepclassmembers class **.R$* {
- public static <fields>;
- }
- #xUtils(保持注解,及使用注解的Activity不被混淆,不然会影响Activity中你使用注解相关的代码无法使用)
- -keep class * extends java.lang.annotation.Annotation {*;}
- -keep class xunmi.weichat.activity.** {*;}
- # 以libaray的形式引用的图片加载框架,不想混淆(注意,此处不是jar包形式,想混淆去掉"#")
- -keep class org.doubango.ngn.events.** { *; }
- -keep class org.doubango.ngn.events.**
- -keep class org.doubango.ngn.media.** { *; }
- -keep class org.doubango.ngn.media.**
- -keep class org.doubango.ngn.model.** { *; }
- -keep class org.doubango.ngn.model.**
- -keep class org.doubango.ngn.services.** { *; }
- -keep class org.doubango.ngn.services.**
- -keep class org.doubango.ngn.sip.** { *; }
- -keep class org.doubango.ngn.sip.**
- -keep class org.doubango.ngn.utils.** { *; }
- -keep class org.doubango.ngn.utils.**
- -keep class org.doubango.ngn.** { *; }
- -keep class org.doubango.ngn.**
- -keep class org.doubango.tinyWRAP.** { *; }
- -keep class org.doubango.tinyWRAP.**
- -keep class de.greenrobot.event.** { *; }
- -keep class de.greenrobot.event.**
- -keep class de.greenrobot.event.util.** { *; }
- -keep class de.greenrobot.event.util.**
- -keep class org.jivesoftware.smack.initializer**
- -keep class org.jivesoftware.smack.**
- -keep class org.jivesoftware.smackx.**
- -keep class org.jivesoftware.smackx.**{*;}
- -keep class org.jivesoftware.smack.compression.**
- #-keep class com.shiku.job.push.utils.GsonUtil
- -keepattributes EnclosingMethod
- -keep class org.jivesoftware.smack.initializer.** { *; }
- -keep class org.jivesoftware.smack.** { *; }
- -keep class com.github.siyamed.shapeimageview.**
- -dontwarn com.github.siyamed.shapeimageview.**
- -keep class org.kxml2.io.**
- -keep class org.kxml2.io.KXmlParser
- -dontwarn org.kxml2.io.KXmlParser
- -keep class org.kxml2.io.**{*;}
- -keep class com.github.siyamed.shapeimageview.**{*;}
- # ormlite
- -keep class com.j256.**
- -keepclassmembers class com.j256.** { *; }
- -keep enum com.j256.**
- -keepclassmembers enum com.j256.** { *; }
- -keep interface com.j256.**
- -keepclassmembers interface com.j256.** { *; }
- ###-------- Gson 相关的混淆配置--------
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class sun.misc.Unsafe { *; }
- -keep class com.alipay.android.app.IAlixPay{*;}
- -keep class com.alipay.android.app.IAlixPay$Stub{*;}
- -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
- -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
- -keep class com.alipay.sdk.app.PayTask{ public *;}
- -keep class com.alipay.sdk.app.AuthTask{ public *;}
- -keepclassmembers class ** {
- public void onEvent*(**);
- void onEvent*(**);
- }
- ###-------- pulltorefresh 相关的混淆配置---------
- -dontwarn com.handmark.pulltorefresh.library.**
- -keep class com.handmark.pulltorefresh.library.** { *;}
- -dontwarn com.handmark.pulltorefresh.library.extras.**
- -keep class com.handmark.pulltorefresh.library.extras.** { *;}
- -dontwarn com.handmark.pulltorefresh.library.internal.**
- -keep class com.handmark.pulltorefresh.library.internal.** { *;}
- ###-------- ShareSDK 相关的混淆配置---------
- -keep class cn.sharesdk.**{*;}
- -keep class com.sina.**{*;}
- -keep class **.R$* {*;}
- -keep class **.R{*;}
- -keep class com.mob.**{*;}
- -keep class m.framework.**{*;}
- -dontwarn cn.sharesdk.**
- -dontwarn com.sina.**
- -dontwarn com.mob.**
- -dontwarn **.R$*
- ###--------------umeng 社会化分享相关的混淆配置-----------
- -dontshrink
- -dontoptimize
- -dontwarn com.google.android.maps.**
- -dontwarn android.webkit.WebView
- -dontwarn com.umeng.**
- -dontwarn com.tencent.weibo.sdk.**
- -dontwarn com.facebook.**
- -dontwarn java.lang.invoke**
- -dontwarn org.apache.lang.**
- -dontwarn org.apache.commons.**
- -dontwarn com.nhaarman.**
- -dontwarn se.emilsjolander.**
- -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 public class javax.**
- -keep public class android.webkit.**
- -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.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{*;}
- -dontwarn twitter4j.**
- -keep class twitter4j.** { *; }
- -keep class com.tencent.** {*;}
- -dontwarn com.tencent.**
- -keep public class com.umeng.soexample.R$*{
- public static final int *;
- }
- -keep public class com.umeng.soexample.R$*{
- public static final int *;
- }
- -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.sina.** {*;}
- -dontwarn com.sina.**
- -keep class com.alipay.share.sdk.** {
- *;
- }
- ###--------------umeng 统计相关的混淆配置-----------
- -keepclassmembers class * {
- public <init> (org.json.JSONObject);
- }
- -keep public class **.R$*{
- public static final int *;
- }
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- ###-------Parcelable------------
- -keepnames class * implements android.os.Parcelable {
- public static final ** CREATOR;
- }
- ###--------百度地图----------
- #-libraryjars libs/BaiduLBS_Android.jar
- -keep class com.baidu.** { *; }
- -keep class vi.com.gdi.bgl.android.**{*;}
- -keep class com.baidu.location.** { *; }
- -keep class com.linkedin.** { *; }
- -keep class mapsdkvi.com.** {*;}
- -keepattributes Signature
- ###--------百度推送----------
- #-libraryjars libs/pushservice-6.1.1.21.jar
- -dontwarn com.baidu.**
- -keep class com.baidu.**{*; }
- ###--------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);
- }
- ###-----------okhttp
- -dontwarn com.squareup.okhttp.**
- -dontwarn org.xbill.DNS.spi.**
- -dontwarn org.simpleframework.xml.stream.**
- -dontwarn demo.**
- -dontwarn com.alibaba.fastjson.util.**
- -dontwarn com.alibaba.fastjson.support.spring.**
- -dontwarn com.alibaba.fastjson.serializer.**
- -keep class com.squareup.okhttp.** { }
- -dontwarn okio.*
- -keep class com.squareup.okhttp3.** {
- *;
- }
- ###------------twitter
- -dontwarn com.google.appengine.api.urlfetch.**
- -dontwarn rx.**
- -dontwarn retrofit.**
- -keepattributes Signature
- -keepattributes Exceptions
- -keepattributes *Annotation*
- -keep class com.squareup.okhttp.** { *; }
- -keep interface com.squareup.okhttp.** { *; }
- -keep class retrofit.** { *; }
- -keepclasseswithmembers class * { @retrofit.http.* <methods>; }
- -ignorewarnings
- #部分library不混淆
- -keep class org.wysaid.** {*;}
- -keep class com.dubu.livecamera.** {*;}
- -keep class com.coremedia.** {*;}
- -keep class com.github.** {*;}
- -keep class com.googlecode.** {*;}
- -keep class com.seu.** {*;}
- -keep class net.ossrs.** {*;}
- -keep class com.dou361.** {*;}
- -keep class tv.** {*;}
- # bean类,主要用于json to bean, 不能混淆,
- -keep class liaobo.im.xuan.xuanhttplibrary.okhttp.result.** { *; }
- -keep class xunmi.weichat.util.SkinUtils.Skin { *; }
- -keep class xunmi.weichat.bean.** { *; }
- -keep class xunmi.weichat.ui.live.bean.** { *; }
- -keep class xunmi.weichat.ui.mucfile.bean.** { *; }
- -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
- -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
- -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
- # Do not strip any method/class that is annotated with @DoNotStrip
- -keep @com.facebook.proguard.annotations.DoNotStrip class *
- -keep @com.facebook.common.internal.DoNotStrip class *
- -keepclassmembers class * {
- @com.facebook.proguard.annotations.DoNotStrip *;
- @com.facebook.common.internal.DoNotStrip *;
- }
- -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
- void set*(***);
- *** get*();
- }
- -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
- -keep class * extends com.facebook.react.bridge.NativeModule { *; }
- -keepclassmembers,includedescriptorclasses class * { native <methods>; }
- -keepclassmembers class * { @com.facebook.react.uimanager.UIProp <fields>; }
- -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp <methods>; }
- -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup <methods>; }
- -dontwarn com.facebook.react.**
- # TextLayoutBuilder uses a non-public Android constructor within StaticLayout.
- # See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details.
- -dontwarn android.text.StaticLayout
- # okhttp
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class okhttp3.** { *; }
- -keep interface okhttp3.** { *; }
- -dontwarn okhttp3.**
- # okio
- -keep class sun.misc.Unsafe { *; }
- -dontwarn java.nio.file.*
- -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
- -dontwarn okio.**
- # WebRTC
- -keep class org.webrtc.** { *; }
- -dontwarn org.chromium.build.BuildHooksAndroid
- # Jisti Meet SDK
- -keep class org.jitsi.meet.sdk.** { *; }
- # jpush, https://docs.jiguang.cn/jpush/client/Android/android_guide/
- -dontoptimize
- -dontpreverify
- -dontwarn cn.jpush.**
- -keep class cn.jpush.** { *; }
- -keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
- -dontwarn cn.jiguang.**
- -keep class cn.jiguang.** { *; }
- # 华为推送,https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweipush_agent.html?page=hmssdk_huaweipush_devprepare_agent#6%20%E9%85%8D%E7%BD%AE%E6%B7%B7%E6%B7%86%E8%84%9A%E6%9C%AC
- -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.**{*;}
- # mipush, https://dev.mi.com/console/doc/detail?pId=41#_3_3
- -keep public class * extends com.xiaomi.mipush.sdk.PushMessageReceiver {*;}
- #可以防止一个误报的 warning 导致无法成功编译,如果编译使用的 Android 版本是 23。
- -dontwarn com.xiaomi.push.**
- #滤镜库, 没有提供混淆方式
- -keep class com.xiaojigou.**{*;}
- # 支付宝,https://docs.open.alipay.com/54/104509/
- -keep class xunmi.weichat.ui.me.redpacket.alipay.** { *; }
- -keep class com.alipay.android.app.IAlixPay{*;}
- -keep class com.alipay.android.app.IAlixPay$Stub{*;}
- -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
- -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
- -keep class com.alipay.sdk.app.PayTask{ public *;}
- -keep class com.alipay.sdk.app.AuthTask{ public *;}
- -keep class com.alipay.sdk.app.H5PayCallback {
- <fields>;
- <methods>;
- }
- -keep class com.alipay.android.phone.mrpc.core.** { *; }
- -keep class com.alipay.apmobilesecuritysdk.** { *; }
- -keep class com.alipay.mobile.framework.service.annotation.** { *; }
- -keep class com.alipay.mobilesecuritysdk.face.** { *; }
- -keep class com.alipay.tscenter.biz.rpc.** { *; }
- -keep class org.json.alipay.** { *; }
- -keep class com.alipay.tscenter.** { *; }
- -keep class com.ta.utdid2.** { *;}
- -keep class com.ut.device.** { *;}
- # 魅族推送,https://github.com/MEIZUPUSH/PushDemo/blob/3367bbc290de17487fdeba66e44c56cacaa6141f/PushdemoInternal/artifactory-proguard-rules.pro#L40-L39
- -keep public class * extends com.google.protobuf.GeneratedMessage { *; }
- -keep class com.google.protobuf.** { *; }
- -keep public class * extends com.google.protobuf.** { *; }
- -keep class com.meizu.cloud.pushsdk.** { *; }
- -dontwarn com.meizu.cloud.pushsdk.**
- -keep class com.meizu.nebula.** { *; }
- -dontwarn com.meizu.nebula.**
- -keep class com.meizu.push.** { *; }
- -dontwarn com.meizu.push.**
- # VIVO推送,
- -dontwarn com.vivo.push.**
- -keep class com.vivo.push.**{*; }
- -keep class com.vivo.vms.**{*; }
- -keep class * extends com.vivo.push.sdk.OpenClientPushMessageReceiver {*;}
- # Oppo推送,看起来是多余的,https://open.oppomobile.com/wiki/doc#id=10196
- -keep public class * extends android.app.Service
- # slf4j, 有出现过slf4j混淆导致slf4j-android崩溃的情况,
- -keep class org.slf4j.**{*; }
|