# inline getter method -allowaccessmodification # TODO Dicard sourceFile in final release build but remain in internal build. -renamesourcefileattribute SourceFile # Keep Attribute -keepattributes *Annotation*,Signature,InnerClasses,EnclosingMethod,SourceFile,LineNumberTable # OrmLite -keep class com.j256.* -keepclassmembers class com.j256.* { *; } -keep enum com.j256.* -keepclassmembers enum com.j256.* { *; } -keep interface com.j256.* -keepclassmembers interface com.j256.* { *; } -dontwarn com.j256.** ### app models -keep class com.gh.gamecenter.db.info.* {*;} -keep class com.gh.gamecenter.entity.** {;} -keep class com.gh.gamecenter.qa.entity.** {;} -keep class com.gh.gamecenter.floatingwindow.FloatingWindowEntity {;} -keep class com.gh.gamecenter.BR -keep class com.gh.gamecenter.retrofit.* {*;} -keep class com.gh.gamecenter.eventbus.* {*;} -keep class com.gh.gamecenter.home.gamecollection.GameCollectionStackLayout {*;} -keep class com.gh.gamecenter.home.gamecollection.GameCollectionStackAnimation {*;} # Prevent R8 from leaving Data object members always null -keepclassmembers,allowobfuscation class * { @com.google.gson.annotations.SerializedName ; } # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) -keep class * extends com.google.gson.TypeAdapter -keep class * implements com.google.gson.TypeAdapterFactory -keep class * implements com.google.gson.JsonSerializer -keep class * implements com.google.gson.JsonDeserializer # Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken -keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken # TODO What's this ? -ignorewarnings ### 视频相关 -keep class com.shuyu.gsyvideoplayer.video.* { *; } -dontwarn com.shuyu.gsyvideoplayer.video.** -keep class com.shuyu.gsyvideoplayer.video.base.* { *; } -dontwarn com.shuyu.gsyvideoplayer.video.base.** -keep class com.shuyu.gsyvideoplayer.utils.* { *; } -dontwarn com.shuyu.gsyvideoplayer.utils.** -keep class tv.danmaku.ijk.* { *; } -dontwarn tv.danmaku.ijk.** -keep public class * extends android.view.View { *** get*(); void set*(***); public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } ### RecyclerView.jumpToPositionForSmoothScroller -keep class androidx.recyclerview.widget.RecyclerView { void jumpToPositionForSmoothScroller(int); } ### ViewBinding 反射相关 -keep class * implements androidx.viewbinding.ViewBinding { public static *** inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean); } ### TEA -keep class com.gh.gamecenter.TeaHelper { *; } ### EasyFloat -keep class com.lzf.easyfloat.* {*;} ### dokit -keep class com.didichuxing.** {*;} ### 广点通SDK -dontwarn com.qq.gdt.action.** -keep class com.qq.gdt.action.** {*;} -keep public class com.tencent.turingfd.sdk.** -keepclasseswithmembers class * { native ; }