# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in F:\AndroidTool\android-midunovel-windows/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 *;
#}
-ignorewarnings
##指定代码的压缩级别
-optimizationpasses 5
#包明不混合大小写
-dontusemixedcaseclassnames
#不去忽略非公共的库类
-dontskipnonpubliclibraryclasses
 #优化  不优化输入的类文件
-dontoptimize
 #预校验
-dontpreverify
 #混淆时是否记录日志
-verbose
 # 混淆时所采用的算法
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#保护注解
-keepattributes *Annotation*
-keepattributes Signature
-allowaccessmodification
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
#-repackageclasses ''
-dontusemixedcaseclassnames
 -ignorewarnings
#-dontoptimize
#保持类不被混淆
-keep class android.support.annotation.** {*;}
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.** { *; }
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
-keep public class * extends android.app.Activity
-keep public  class com.lechuan.midunovel.view.FoxListener { *; }
-keep public  class com.lechuan.midunovel.view.FoxSDK { *; }
-keep public  class com.lechuan.midunovel.view.FoxNsTmListener { *; }
-keep public  class com.lechuan.midunovel.view.FoxShListener { *; }
-keep public  class com.lechuan.midunovel.view.FoxSize { *; }
-keep public  class com.lechuan.midunovel.view.FoxViewControll { *; }
-keep public  class com.lechuan.midunovel.view.video.FoxVideoView { *; }
-keep public  class com.lechuan.midunovel.view.video.js.FoxWebjsSdk { *; }
#-keep public class com.db.cow.midunovel.http.* { *; }
-keep public  class com.lechuan.midunovel.view.http.FoxResponse { *; }
-keep public  class com.lechuan.midunovel.view.FoxTbScreen {
    public <init>(android.content.Context);
}

-keep public  class com.lechuan.midunovel.view.FoxCustomerTm {
    public <init>(android.content.Context);
    public <methods>;
}

-keep public  class com.lechuan.midunovel.view.FoxShView {
    public <methods>;
}

-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context,com.lechuan.midunovel.view.FoxSize);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.webkit.WebViewClient  {
    public void *(android.webkit.WebView,java.lang.String,android.graphics.Bitmap);
    public boolean *(android.webkit.WebView,java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient {
    public void *(android.webkit.WebView,java.lang.String);
}

-keep public class pl.droidsonroids.gif.GifIOException{<init>(int);}
-keep class pl.droidsonroids.gif.GifInfoHandle{<init>(long,int,int,int);}

#保持 TMNa 方法不被混淆
-keepclasseswithmembernames class * {
    TMNa <methods>;
}
#保持 enum 类不被混淆
-keepclassmembers enum * {
     public static **[] values();
     public static ** valueOf(java.lang.String);
}
#
-keepclasseswithmembernames class * {
     public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembernames class * {
     public <init>(android.content.Context, android.util.AttributeSet, int);
}
#不混淆资源类
-keepclassmembers  class com.lechuan.midunovel.view.http.FoxCallRequest {
    private <fields>;
}
-keepclassmembers  class com.lechuan.midunovel.view.FoxSize {
    public static final FoxSize *;
}
-keepclassmembers  class com.lechuan.midunovel.view.http.FoxRequest {
     private <fields>;
 }
 -keepclassmembers  class com.lechuan.midunovel.view.http.FoxPushRequest {
     private <fields>;
 }
  -keepclassmembers  class com.lechuan.midunovel.view.http.FoxCallRequest$GetSDataField {
      private <fields>;
  }

  -keepclassmembers  class com.lechuan.midunovel.view.http.FoxCallRequest$GetNSData {
      private <fields>;
  }

-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 *;
}

# for DexGuard only
-keepclassmembers class **.R$* {
    public static <fields>;
}
-keep class *.R

-keep class * implements android.os.Parcelable {
   public static final android.os.Parcelable$Creator *;
}

-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();
}

-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}


#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}

#okio
-dontwarn okio.**
-keep class okio.**{*;}

#okgo
-dontwarn com.lzy.okgo.**
-keep class com.lzy.okgo.**{*;}

#okrx
-dontwarn com.lzy.okrx.**
-keep class com.lzy.okrx.**{*;}

#okrx2
-dontwarn com.lzy.okrx2.**
-keep class com.lzy.okrx2.**{*;}

#okserver
-dontwarn com.lzy.okserver.**
-keep class com.lzy.okserver.**{*;}

-dontwarn com.lechuan.midunovel.view.video.**
-keep public class * extends android.app.Activity
-keep public class com.lechuan.midunovel.view.video.js.FoxWebjsSdk { *; }
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,Annotation,EnclosingMethod,MethodParameters

