123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- # Add project specific ProGuard rules here.
- # By default, the flags in this file are appended to flags specified
- # in /Users/jess/Library/Android/sdk/tools/proguard/proguard-android.txt
- # You can edit the include path and order by changing the proguardFiles
- # directive in build.gradle.
- #
- # For more details, see
- # http://developer.android.com/guide/developing/tools/proguard.html
- # Add any project specific keep options here:
- # 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 *;
- #}
- -optimizationpasses 5
- -dontusemixedcaseclassnames
- -dontskipnonpubliclibraryclasses
- -dontskipnonpubliclibraryclassmembers
- -dontpreverify
- -verbose
- -printmapping priguardMapping.txt
- -optimizations !code/simplification/artithmetic,!field/*,!class/merging/*
- ################自定义依赖库不被混淆###############
- -keep class com.zkjc.commnon.** { *; } #自定义控件不参与混淆
- ################common###############
- -keep public class * implements com.jess.arms.integration.ConfigModule
- #实体类不参与混淆
- -keep class com.jess.arms.widget.** { *; } #自定义控件不参与混淆
- -keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
- }
- -keepnames class * implements java.io.Serializable
- -keepattributes Signature
- -keep class **.R$* {*;}
- -ignorewarnings
- -keepclassmembers class **.R$* {
- public static <fields>;
- }
- -keepclasseswithmembernames class * { # 保持native方法不被混淆
- native <methods>;
- }
- -keepclassmembers enum * { # 使用enum类型时需要注意避免以下两个方法混淆,因为enum类的特殊性,以下两个方法会被反射调用,
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- ################support###############
- -keep class android.support.** { *; }
- -keep interface android.support.** { *; }
- -dontwarn android.support.**
- ################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 *;}
- ################retrofit###############
- -dontwarn retrofit2.**
- -keep class retrofit2.** { *; }
- -keepattributes Signature
- -keepattributes Exceptions
- ################butterknife###############
- -keep class butterknife.** { *; }
- -dontwarn butterknife.internal.**
- -keep class **$$ViewBinder { *; }
- -keepclasseswithmembernames class * {
- @butterknife.* <fields>;
- }
- -keepclasseswithmembernames class * {
- @butterknife.* <methods>;
- }
- ################gson###############
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class sun.misc.Unsafe { *; }
- -keep class com.google.gson.stream.** { *; }
- # Application classes that will be serialized/deserialized over Gson
- -keep class com.sunloto.shandong.bean.** { *; }
- ################glide###############
- -keep public class * implements com.bumptech.glide.module.AppGlideModule
- -keep public class * implements com.bumptech.glide.module.LibraryGlideModule
- -keep class com.bumptech.glide.** { *; }
- -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
- ################okhttp###############
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class com.squareup.okhttp.** { *; }
- -keep interface com.squareup.okhttp.** { *; }
- -keep class okhttp3.** { *; }
- -keep interface okhttp3.** { *; }
- -dontwarn com.squareup.okhttp.**
- ################androidEventBus###############
- -keep class org.simple.** { *; }
- -keep interface org.simple.** { *; }
- -keepclassmembers class * {
- @org.simple.eventbus.Subscriber <methods>;
- }
- -keepattributes *Annotation*
- ################EventBus###############
- -keepclassmembers class * {
- @org.greenrobot.eventbus.Subscribe <methods>;
- }
- -keep class org.greenrobot.eventbus.EventBus { *; }
- -keep enum org.greenrobot.eventbus.ThreadMode { *; }
- -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
- <init>(java.lang.Throwable);
- }
- ################autolayout###############
- -keep class com.zhy.autolayout.** { *; }
- -keep interface com.zhy.autolayout.** { *; }
- ################RxJava and RxAndroid###############
- -dontwarn org.mockito.**
- -dontwarn org.junit.**
- -dontwarn org.robolectric.**
- -keep class io.reactivex.** { *; }
- -keep interface io.reactivex.** { *; }
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class com.squareup.okhttp.** { *; }
- -dontwarn okio.**
- -keep interface com.squareup.okhttp.** { *; }
- -dontwarn com.squareup.okhttp.**
- -dontwarn io.reactivex.**
- -dontwarn retrofit.**
- -keep class retrofit.** { *; }
- -keepclasseswithmembers class * {
- @retrofit.http.* <methods>;
- }
- -keep class sun.misc.Unsafe { *; }
- -dontwarn java.lang.invoke.*
- -keep class io.reactivex.schedulers.Schedulers {
- public static <methods>;
- }
- -keep class io.reactivex.schedulers.ImmediateScheduler {
- public <methods>;
- }
- -keep class io.reactivex.schedulers.TestScheduler {
- public <methods>;
- }
- -keep class io.reactivex.schedulers.Schedulers {
- public static ** test();
- }
- -keepclassmembers class io.reactivex.internal.util.unsafe.*ArrayQueue*Field* {
- long producerIndex;
- long consumerIndex;
- }
- -keepclassmembers class io.reactivex.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
- long producerNode;
- long consumerNode;
- }
- -keepclassmembers class io.reactivex.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
- io.reactivex.internal.util.atomic.LinkedQueueNode producerNode;
- }
- -keepclassmembers class io.reactivex.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
- io.reactivex.internal.util.atomic.LinkedQueueNode consumerNode;
- }
- -dontwarn io.reactivex.internal.util.unsafe.**
- ################espresso###############
- -keep class android.support.test.espresso.** { *; }
- -keep interface android.support.test.espresso.** { *; }
- ################annotation###############
- -keep class android.support.annotation.** { *; }
- -keep interface android.support.annotation.** { *; }
- ################RxLifeCycle#################
- -keep class com.trello.rxlifecycle2.** { *; }
- -keep interface com.trello.rxlifecycle2.** { *; }
- ################RxPermissions#################
- -keep class com.tbruyelle.rxpermissions2.** { *; }
- -keep interface com.tbruyelle.rxpermissions2.** { *; }
- ################RxCache#################
- -dontwarn io.rx_cache2.internal.**
- -keep class io.rx_cache2.internal.Record { *; }
- -keep class io.rx_cache2.Source { *; }
- -keep class io.victoralbertos.jolyglot.** { *; }
- -keep interface io.victoralbertos.jolyglot.** { *; }
- ################RxErrorHandler#################
- -keep class me.jessyan.rxerrorhandler.** { *; }
- -keep interface me.jessyan.rxerrorhandler.** { *; }
- ################Timber#################
- -dontwarn org.jetbrains.annotations.**
- ################Canary#################
- -dontwarn com.squareup.haha.guava.**
- -dontwarn com.squareup.haha.perflib.**
- -dontwarn com.squareup.haha.trove.**
- -dontwarn com.squareup.leakcanary.**
- -keep class com.squareup.haha.** { *; }
- -keep class com.squareup.leakcanary.** { *; }
- # Marshmallow removed Notification.setLatestEventInfo()
- -dontwarn android.app.Notification
- # FastJson 混淆代码
- -dontwarn com.alibaba.fastjson.**
- -keep class com.alibaba.fastjson.** { *; }
- -keepattributes Signature
- -keepattributes *Annotation*
|