#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-optimizationpasses 5       # 指定代码的压缩级别
-dontshrink #关闭压缩
-dontusemixedcaseclassnames     # 是否使用大小写混合
-dontskipnonpubliclibraryclasses        # 指定不去忽略非公共的库类
-dontskipnonpubliclibraryclassmembers       # 指定不去忽略包可见的库类的成员
-dontpreverify      # 混淆时是否做预校验
-verbose        # 混淆时是否记录日志
-printmapping proguardMapping.txt
-optimizations !code/simplification/cast,!field/*,!class/merging/*      # 混淆时所采用的算法
-keepattributes *Annotation*,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
-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 * extends android.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.** {*;}
#-ignorewarnings -keep class * { public private *; }

#如果有引用v4包可以添加下面这行
-keep class android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment

-keepclasseswithmembernames class * {
    native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
    public void *(android.view.View);
}
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
    *** get*();
    void set*(***);
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-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();
}
-keep class com.plv.foundationsdk.model.**{*;}
-keep class * implements com.plv.foundationsdk.model.PLVFoundationVO{*;}
-keep class * implements com.plv.foundationsdk.model.PLVFoundationVO{*;}
#表示不混淆R文件中的所有静态字段
-keep class **.R$* {
    public static <fields>;
}
# 保留注解不被混淆
-keep public @interface * {
    ** default (*);
}
-keepclassmembers class * {
    void *(**On*Event);
}
#----------------------------------------------------------------------------

#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
   public *;
}
-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.WebViewClient {
    public void *(android.webkit.WebView, jav.lang.String);
}
#----------------------------------------------------------------------------
#web
-keep class com.plv.foundationsdk.web.* {*;}
#config
-keep class com.plv.foundationsdk.config.* {*;}
#ijk
-keep class com.plv.foundationsdk.ijk.player.application.* {*;}
-keep class com.plv.foundationsdk.ijk.player.services.* {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IIjkVideoView {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IIjkVideoView$* {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IMediaController {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IMediaController$* {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IRenderView {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IRenderView$* {*;}
#log
-keep class com.plv.foundationsdk.log.** {*;}
#net
-keep class com.plv.foundationsdk.net.** {*;}
-keep class com.plv.foundationsdk.socket.** {*;}
#permission
-keep class com.plv.foundationsdk.permission.* {*;}
#rx
-keep class com.plv.foundationsdk.rx.* {*;}
#utils
-keep class com.plv.foundationsdk.utils.*{*;}

-keep class com.plv.foundationsdk.utils.* {*;}
#web
-keep class com.plv.foundationsdk.web.** {*;}
#sub
-keep class com.plv.foundationsdk.sub.** {*;}
#manager
-keep class com.plv.foundationsdk.manager.** {*;}


-keep class com.plv.foundationsdk.ijk.gifmaker.GifMaker {
    public <fields>;
    protected <fields>;
    public <methods>;
    protected <methods>;
}
#playerNative
-keep class com.plv.foundationsdk.ijk.player.media.PLVPlayerNative{*;}
-keep class com.plv.foundationsdk.ijk.player.media.PLVPlayerNative$*{*;}
#单独keep某个类时，需同时保持其内部类
-keep class com.plv.foundationsdk.ijk.gifmaker.GifMaker$* {*;}
-keep class com.plv.foundationsdk.ijk.player.media.IjkVideoView {
    public <fields>;
    protected <fields>;
    public <methods>;
    protected <methods>;
}
-keep class com.plv.foundationsdk.ijk.player.media.IjkVideoView$* {*;}
-keep class com.plv.foundationsdk.sign.PLVSignCreator{*;}
-keep class com.plv.foundationsdk.PLVUAClient {
    public <fields>;
    protected <fields>;
    public <methods>;
    protected <methods>;
}
-keep class com.plv.foundationsdk.PLVUAClient$* {*;}

-keep class com.plv.thirdpart.blankj.utilcode.**{*;}

# ijkplayer/java
-keep class tv.danmaku.** {*;}

#日志
-keep class com.plv.foundationsdk.log.elog.** {*;}
#阿里云httpdns
-keep class com.alibaba.sdk.android.**{*;}
-keep class com.ut.**{*;}
-keep class com.ta.**{*;}
