# 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 -ignorewarnings ## GSON 2.2.4 specific rules ## # 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* -keepattributes EnclosingMethod # Gson specific classes -keep class sun.misc.Unsafe { *; } -keep class com.google.gson.stream.** { *; } -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.ImageHeaderParser$** { **[] $VALUES; public *; } # Keep the support library -keep class android.support.** { *; } -keep interface android.support.** { *; } # Okio -keep class sun.misc.Unsafe { *; } -dontwarn java.nio.file.* -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -dontwarn okio.** -dontwarn okio.** -dontnote retrofit2.Platform -dontwarn retrofit2.Platform$Java8 -keepattributes Signature -keepattributes Exceptions -keep class com.myownpackage.models.** { *; } -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement ########--------Retrofit + RxJava--------######### -dontwarn retrofit.** -keep class retrofit.** { *; } -dontwarn sun.misc.Unsafe -dontwarn com.octo.android.robospice.retrofit.RetrofitJackson** -dontwarn retrofit.appengine.UrlFetchClient -keepattributes Signature -keepattributes Exceptions -keepclasseswithmembers class * { @retrofit.http.* ; } -keep class com.google.gson.** { *; } -keep class com.google.inject.** { *; } -keep class org.apache.http.** { *; } -keep class org.apache.james.mime4j.** { *; } -keep class javax.inject.** { *; } -keep class retrofit.** { *; } -dontwarn org.apache.http.** -dontwarn android.net.http.AndroidHttpClient -dontwarn retrofit.** -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { long producerNode; long consumerNode; } # ALSO REMEMBER KEEPING YOUR MODEL CLASSES -keep class com.ysnows.sultra.model.** { *; } -keep class com.ysnows.sultra.utils.net.Response { *; } -keep class com.ysnows.base.model.** { *; } -keep class com.ysnows.base.route.** { *; } -keep class com.ysnows.update.model.** { *; } -keep class com.ysnows.umeng.cc.** { *; } -keep class com.ysnows.alipay.cc.** { *; } -keep class com.ysnows.update.component.** { *; } #Retrofit -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions -keepclasseswithmembers class * { @retrofit2.http.* ; } #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; } -dontwarn java.lang.invoke.* -keep class sun.misc.Unsafe { *; } # OkHttp -keepattributes Signature -keepattributes *Annotation* -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn okhttp3.** #glide -keep public class * implements com.bumptech.glide.module.GlideModule -keep public class * extends com.bumptech.glide.AppGlideModule -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions -keepclassmembers class * { public (org.json.JSONObject); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembers class * { @android.webkit.JavascriptInterface ; } #okhttp -dontwarn com.squareup.okhttp.** -keep class com.chad.library.adapter.** { *; } -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 { (...); } -dontwarn com.kingja.loadsir.** -keep class com.kingja.loadsir.** {*;} -dontwarn com.litesuits.orm.** -keep class com.litesuits.orm.** {*;} -dontwarn org.mozilla.javascript.** -keep class org.mozilla.javascript.** {*;} -dontwarn com.yanzhenjie.permission.** #alipay_begin -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 { ; ; } -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.** { *;} #alipay_end -keep class com.hwangjr.rxbus.thread.** {*;} -keepattributes *Annotation* -keepclassmembers class ** { @com.hwangjr.rxbus.annotation.Subscribe public *; @com.hwangjr.rxbus.annotation.Produce public *; } -dontwarn com.yanzhenjie.permission.** -keep class com.chad.library.adapter.** { *; } -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 { (...); } -keep class com.umeng.** {*;} -keepclassmembers class * { public (org.json.JSONObject); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } # 穿山甲 -keep class com.bytedance.sdk.openadsdk.** { *; } -keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;} -keep class com.pgl.sys.ces.* {*;} # YCWebView -keep class com.ycbjie.webviewlib.** { *; } -dontwarn com.ycbjie.webviewlib.** -renamesourcefileattribute SourceFile -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod # Preserve all annotations. -keepattributes *Annotation* # Preserve all public classes, and their public and protected fields and # methods. #-keep public class * { # public protected *; #} # Preserve all .class method names. #-keepclassmembernames class * { # java.lang.Class class$(java.lang.String); # java.lang.Class class$(java.lang.String, boolean); #} # Preserve all native method names and the names of their classes. #-keepclasseswithmembernames class * { # native ; #} # Preserve the special static methods that are required in all enumeration # classes. #} #-keepclassmembers class * extends java.lang.Enum { # public static **[] values(); # public static ** valueOf(java.lang.String); # ## Explicitly preserve all serialization members. The Serializable interface ## is only a marker interface, so it wouldn't save them. ## You can comment this out if your library doesn't use serialization. ## If your code contains serializable classes that have to be backward ## compatible, please refer to the manual. # #-keepclassmembers class * implements java.io.Serializable { # static final long serialVersionUID; # 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(); #} -keep class com.uc.* {*;} -dontwarn com.tencent.bugly.** -keep public class com.tencent.bugly.**{*;}