# Conflicts: # app/build.gradle # app/src/main/java/com/gh/common/DefaultUrlHandler.kt # app/src/main/java/com/gh/common/util/DirectUtils.kt # app/src/main/java/com/gh/common/util/EntranceUtils.java # build.gradle
152 lines
4.5 KiB
Plaintext
152 lines
4.5 KiB
Plaintext
|
|
#--------- remove logs start ----------------
|
|
-assumenosideeffects class com.lightgame.config.CommonDebug {
|
|
private static String getLogTag(...);
|
|
private static String getMethodName();
|
|
public static void logMethodName(...);
|
|
public static void logParams(...);
|
|
public static void logFields(...);
|
|
public static void logMethodWithParams(...);
|
|
}
|
|
|
|
-assumenosideeffects class com.lightgame.utils.Utils {
|
|
public static void log(...);
|
|
}
|
|
#--------- remove logs end ----------------
|
|
|
|
# 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.**
|
|
|
|
### AutoScrollViewPager
|
|
-keep class cn.trinea.android.* { *; }
|
|
-keepclassmembers class cn.trinea.android.* { *; }
|
|
-dontwarn cn.trinea.android.**
|
|
|
|
### Butterknife
|
|
-keep public class * implements butterknife.Unbinder { public <init>(**, android.view.View); }
|
|
-keep class butterknife.*
|
|
-keepclasseswithmembernames class * { @butterknife.* <methods>; }
|
|
-keepclasseswithmembernames class * { @butterknife.* <fields>; }
|
|
|
|
### eventbus
|
|
-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);
|
|
}
|
|
|
|
### weiboSdk
|
|
-keep class com.sina.weibo.sdk.** { *; }
|
|
-dontwarn android.webkit.WebView
|
|
-dontwarn android.webkit.WebViewClient
|
|
|
|
### wechatSdk
|
|
### TODO 这里用 com.tencent.*{*;} 不起效?但其它地方可以?
|
|
-keep class com.tencent.**{*;}
|
|
|
|
### app models
|
|
-keep class com.gh.common.view.* {*;}
|
|
-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.retrofit.* {*;}
|
|
-keep class com.gh.gamecenter.eventbus.* {*;}
|
|
-keep class com.gh.gamecenter.video.detail.* {*;}
|
|
-keep class com.gh.gamecenter.home.gamecollection.* {*;}
|
|
|
|
###
|
|
-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, java.lang.String);
|
|
}
|
|
|
|
### easypermission
|
|
-keepclassmembers class * {
|
|
@pub.devrel.easypermissions.AfterPermissionGranted <methods>;
|
|
}
|
|
|
|
# TODO What's this ?
|
|
-ignorewarnings
|
|
|
|
### Keep Annotation
|
|
-keep @androidx.annotation.Keep class *
|
|
-keepclassmembers class * {
|
|
@androidx.annotation.Keep *;
|
|
}
|
|
|
|
### 广点通
|
|
-dontwarn com.qq.gdt.action.**
|
|
-keep class com.qq.gdt.action.* {*;}
|
|
|
|
### 阿里云上传
|
|
-keep class com.alibaba.sdk.android.oss.* { *; }
|
|
-dontwarn okio.**
|
|
-dontwarn org.apache.commons.codec.binary.**
|
|
|
|
### 视频相关
|
|
-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);
|
|
}
|
|
|
|
-keep class com.alibaba.sdk.android.*{*;}
|
|
-keep class com.ut.*{*;}
|
|
-keep class com.ta.*{*;}
|
|
|
|
### GDT & TEA
|
|
-keep class com.gh.gamecenter.GdtHelper { *; }
|
|
-keep class com.gh.gamecenter.TeaHelper { *; }
|
|
|
|
### 阿里云日志
|
|
-keep class com.aliyun.sls.android.producer.* { *; }
|
|
-keep interface com.aliyun.sls.android.producer.* { *; }
|
|
|
|
### 中国移动一键登录
|
|
-dontwarn com.cmic.sso.sdk.**
|
|
-keep class com.cmic.sso.sdk.* { *; }
|
|
|
|
### EasyFloat
|
|
-keep class com.lzf.easyfloat.* {*;}
|
|
|
|
### 避免 WebChromeClient 被混淆
|
|
-keepclassmembers class * extends android.webkit.WebChromeClient{
|
|
public void openFileChooser(...);
|
|
}
|
|
|
|
# Flutter模块
|
|
-keep class com.gh.common.util.DirectUtils {
|
|
public static void directToQa(...);
|
|
public static void directToQaCollection(...);
|
|
public static void directToFeedback(...);
|
|
}
|
|
|