feat: 移除 byteX,移除部分 log 输出调用
This commit is contained in:
@ -7,6 +7,61 @@
|
||||
# Keep Attribute
|
||||
-keepattributes *Annotation*,Signature,InnerClasses,EnclosingMethod,SourceFile,LineNumberTable
|
||||
|
||||
# Remove log related code
|
||||
-assumenosideeffects class android.util.Log {
|
||||
public static *** v(...);
|
||||
public static *** d(...);
|
||||
public static *** i(...);
|
||||
public static *** w(...);
|
||||
public static *** e(...);
|
||||
public static *** println(...);
|
||||
public static *** isLoggable(...);
|
||||
}
|
||||
-assumenosideeffects class java.lang.Throwable {
|
||||
public *** printStackTrace(...);
|
||||
}
|
||||
-assumenosideeffects class java.io.PrintStream {
|
||||
public *** println(...);
|
||||
public *** print(...);
|
||||
}
|
||||
-assumenosideeffects class com.google.devtools.build.android.desugar.runtime.ThrowableExtension {
|
||||
public *** printStackTrace(...);
|
||||
}
|
||||
-assumenosideeffects class com.lightgame.utils.Utils {
|
||||
public static *** log(...);
|
||||
}
|
||||
-assumenosideeffects class com.gh.gamecenter.core.utils.MtaHelper {
|
||||
public static *** onEvent(...);
|
||||
public static *** onEventWithTime(...);
|
||||
public static *** onEventWithBasicDeviceInfo(...);
|
||||
}
|
||||
# Remove all logging calls via JDK Loggers. They are generally from
|
||||
# unused parts of third-party libraries.
|
||||
-assumenosideeffects class java.util.logging.Logger {
|
||||
void finest(...);
|
||||
void finer(...);
|
||||
void fine(...);
|
||||
void info(...);
|
||||
void warning(...);
|
||||
void severe(...);
|
||||
void throwing(...);
|
||||
void log(...);
|
||||
void logp(...);
|
||||
static java.util.logging.Logger getLogger(...) return _NONNULL_;
|
||||
boolean isLoggable(...) return false;
|
||||
}
|
||||
# Remove accesses to Level.<thing> that go unused.
|
||||
-assumenosideeffects class java.util.logging.Level {
|
||||
<fields>;
|
||||
# Flogger uses Level objects, so do not set a return value for intValue().
|
||||
int intValue();
|
||||
}
|
||||
# Remove fields of type Logger.
|
||||
-assumenosideeffects class * {
|
||||
java.util.logging.Logger * return _NONNULL_;
|
||||
}
|
||||
|
||||
|
||||
# OrmLite
|
||||
-keep class com.j256.*
|
||||
-keepclassmembers class com.j256.* { *; }
|
||||
|
||||
65
init.gradle
65
init.gradle
@ -1,7 +1,6 @@
|
||||
allprojects { project ->
|
||||
buildscript {
|
||||
ext.booster_version = '4.9.0'
|
||||
ext.plugin_version = "0.3.0"
|
||||
ext.booster_version = '5.0.0'
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
@ -9,16 +8,10 @@ allprojects { project ->
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
maven { url 'https://oss.sonatype.org/content/repositories/public' }
|
||||
maven { url "https://artifact.bytedance.com/repository/byteX/" }
|
||||
maven { url 'https://maven.aliyun.com/repository/public' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// byteX
|
||||
classpath "com.bytedance.android.byteX:base-plugin:${plugin_version}"
|
||||
classpath "com.bytedance.android.byteX:const-inline-plugin:${plugin_version}"
|
||||
classpath "com.bytedance.android.byteX:method-call-opt-plugin:${plugin_version}"
|
||||
classpath "com.bytedance.android.byteX:field-assign-opt-plugin:${plugin_version}"
|
||||
|
||||
// booster
|
||||
classpath "com.didiglobal.booster:booster-gradle-plugin:$booster_version"
|
||||
@ -45,62 +38,6 @@ allprojects { project ->
|
||||
project.apply plugin: 'com.didiglobal.booster'
|
||||
|
||||
project.apply plugin: "com.gh.gamecenter.plugin"
|
||||
|
||||
project.apply plugin: 'bytex'
|
||||
project.apply plugin: 'bytex.method_call_opt' // 移除 log https://github.com/bytedance/ByteX/blob/master/method-call-opt-plugin/README-zh.md
|
||||
project.apply plugin: 'bytex.field_assign_opt' //去除重复的赋值 https://github.com/bytedance/ByteX/blob/master/field-assign-opt-plugin/README-zh.md
|
||||
//
|
||||
project.method_call_opt {
|
||||
enable true
|
||||
enableInDebug false
|
||||
logLevel "DEBUG"
|
||||
//是否在log中显示删除方法调用指令后的方法指令,一般调试时使用
|
||||
showAfterOptInsLog false
|
||||
//需要删除的方法配置
|
||||
methodList = [
|
||||
//下面的每一项配置必须严格按照数据配置,一个地方不对这一项不生效。
|
||||
//class#method#desc
|
||||
"android/util/Log#v#(Ljava/lang/String;Ljava/lang/String;)I",
|
||||
"android/util/Log#v#(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I",
|
||||
"android/util/Log#d#(Ljava/lang/String;Ljava/lang/String;)I",
|
||||
"android/util/Log#d#(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I",
|
||||
"android/util/Log#i#(Ljava/lang/String;Ljava/lang/String;)I",
|
||||
"android/util/Log#i#(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I",
|
||||
"android/util/Log#w#(Ljava/lang/String;Ljava/lang/String;)I",
|
||||
"android/util/Log#w#(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I",
|
||||
"android/util/Log#e#(Ljava/lang/String;Ljava/lang/String;)I",
|
||||
"android/util/Log#e#(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I",
|
||||
"android/util/Log#println#(ILjava/lang/String;Ljava/lang/String;)I",
|
||||
|
||||
"java/lang/Throwable#printStackTrace#()V",
|
||||
"com/google/devtools/build/android/desugar/runtime/ThrowableExtension#printStackTrace#(Ljava/lang/Throwable;)V",
|
||||
|
||||
//项目中的方法
|
||||
"com/lightgame/utils/Utils#log#(Ljava/lang/String;)V",
|
||||
"com/lightgame/utils/Utils#log#(Ljava/lang/int;Ljava/lang/String;Ljava/lang/String;)V",
|
||||
"com/lightgame/utils/Utils#log#(Ljava/lang/String;Ljava/lang/String;)V",
|
||||
"com/lightgame/utils/Utils#log#(Ljava/lang/String;Ljava/lang/Object;)V",
|
||||
"com/lightgame/utils/Utils#log#(Ljava/lang/Object;)V",
|
||||
"com/gh/gamecenter/common/util/MtaHelper#onEvent#(Ljava/lang/Object;Ljava/lang/String;)V",
|
||||
"com/gh/gamecenter/common/util/MtaHelper#onEventWithTime#(Ljava/lang/String;I[Ljava/lang/String;)V",
|
||||
"com/gh/gamecenter/common/util/MtaHelper#onEventWithBasicDeviceInfo#(Ljava/lang/String;[Ljava/lang/String;)V"
|
||||
]
|
||||
onlyCheckList = []
|
||||
whiteList = [
|
||||
"com/tencent/qqmini/minigame/opensdk/share/OpenSdkShareHelper*",
|
||||
]
|
||||
}
|
||||
|
||||
project.field_assign_opt {
|
||||
enable false
|
||||
enableInDebug false
|
||||
logLevel "INFO"
|
||||
removeLineNumber true // 同时移除赋值对应的行号信息(如果有的话),默认true。
|
||||
whiteList = [
|
||||
//白名单,ClassName.FieldName 。不支持模式匹配
|
||||
//"android.support.constraint.solver.ArrayRow.isSimpleDefinition"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
allprojects { project ->
|
||||
buildscript {
|
||||
ext.booster_version = '4.9.0'
|
||||
ext.plugin_version = "0.3.0"
|
||||
ext.booster_version = '5.0.0'
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
@ -14,12 +13,6 @@ allprojects { project ->
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// byteX
|
||||
classpath "com.bytedance.android.byteX:base-plugin:${plugin_version}"
|
||||
classpath "com.bytedance.android.byteX:const-inline-plugin:${plugin_version}"
|
||||
classpath "com.bytedance.android.byteX:method-call-opt-plugin:${plugin_version}"
|
||||
classpath "com.bytedance.android.byteX:field-assign-opt-plugin:${plugin_version}"
|
||||
|
||||
// booster
|
||||
classpath "com.didiglobal.booster:booster-gradle-plugin:$booster_version"
|
||||
// classpath "com.didiglobal.booster:booster-transform-shared-preferences:$booster_version"
|
||||
@ -35,7 +28,6 @@ allprojects { project ->
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
maven { url 'https://oss.sonatype.org/content/repositories/public' }
|
||||
maven { url "https://artifact.bytedance.com/repository/byteX/" }
|
||||
maven { url 'https://maven.aliyun.com/repository/public' }
|
||||
}
|
||||
|
||||
@ -45,20 +37,6 @@ allprojects { project ->
|
||||
project.apply plugin: 'com.didiglobal.booster'
|
||||
|
||||
project.apply plugin: "com.gh.gamecenter.plugin"
|
||||
|
||||
project.apply plugin: 'bytex'
|
||||
project.apply plugin: 'bytex.field_assign_opt' //去除重复的赋值 https://github.com/bytedance/ByteX/blob/master/field-assign-opt-plugin/README-zh.md
|
||||
|
||||
project.field_assign_opt {
|
||||
enable false
|
||||
enableInDebug false
|
||||
logLevel "INFO"
|
||||
removeLineNumber true // 同时移除赋值对应的行号信息(如果有的话),默认true。
|
||||
whiteList = [
|
||||
//白名单,ClassName.FieldName 。不支持模式匹配
|
||||
//"android.support.constraint.solver.ArrayRow.isSimpleDefinition"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user