123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- # Add project specific ProGuard rules here.
- # By default, the flags in this file are appended to flags specified
- # in /Users/xieshengqi/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 *;
- #}
- # 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 # 是否混淆第三方jar
- -dontpreverify # 混淆时是否做预校验
- -verbose # 混淆时是否记录日志
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法
- -keep public class * extends android.app.Activity # 保持哪些类不被混淆
- -keep public class * extends android.app.FragmentActivity # 保持哪些类不被混淆
- -keep public class * extends android.app.AppCompatActivity # 保持哪些类不被混淆
- -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 # 保持哪些类不被混淆
- -keep class com.kuxuan.moneynote.json.** { *; }
- -keep public class * extends com.kuxuan.moneynote.base.mvpbase.BaseModel
- -keep public class * extends com.kuxuan.moneynote.base.mvpbase.BasePresent
- -keep public class * extends com.kuxuan.moneynote.base.mvpbase.BaseView
- -keep public class * extends com.kuxuan.moneynote.base.mvpbase.MvpFragment
- -keep public class * extends com.kuxuan.moneynote.base.mvpbase.MvpFragmentActivity
- -keepclasseswithmembernames class * { # 保持 native 方法不被混淆
- 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);
- }
- -keepclassmembers class * extends android.support.v4.app.FragmentActivity { # 保持自定义控件类不被混淆
- public void *(android.view.View);
- }
- -keepclassmembers enum * { # 保持枚举 enum 类不被混淆
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆
- public static final android.os.Parcelable$Creator *;
- }
- #-keep class com.kuxuan.moneynote.base.; # 保持自己定义的类不被混淆
- # okhttp
- -dontwarn okio.**
- -keep class okio.** {*;}
- -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 {
- <init>(...);
- }
- -keep class butterknife.** { *; }
- -dontwarn butterknife.internal.**
- -keep class **$$ViewBinder { *; }
- -keepclasseswithmembernames class * {
- @butterknife.* <fields>;
- }
- -keepclasseswithmembernames class * {
- @butterknife.* <methods>;
- }
- -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 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 *;
- }
- # Retrofit
- -dontnote retrofit2.Platform
- -dontnote retrofit2.Platform$IOS$MainThreadExecutor
- -dontwarn retrofit2.Platform$Java8
- -keepattributes Signature
- -keepattributes Exceptions
- #
- #第三方裁剪
- -dontwarn com.yalantis.ucrop**
- -keep class com.yalantis.ucrop** { *; }
- -keep interface com.yalantis.ucrop** { *; }
- # Gson
- #-keep class com.example.testing.retrofitdemo.bean.**{*;} # 自定义数据模型的bean目录
|