94 lines
3.2 KiB
Plaintext
94 lines
3.2 KiB
Plaintext
|
|
# 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.** {<fields>;}
|
|
-keep class com.gh.gamecenter.qa.entity.** {<fields>;}
|
|
-keep class com.gh.gamecenter.floatingwindow.FloatingWindowEntity {<fields>;}
|
|
-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 <fields>;
|
|
}
|
|
|
|
# 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 <init>(android.content.Context);
|
|
public <init>(android.content.Context, android.util.AttributeSet);
|
|
public <init>(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 <methods>;
|
|
}
|
|
|