[Code] 简化ByteX相关的配置

This commit is contained in:
renwj
2023-05-10 11:11:01 +08:00
parent 9ce2b83bb3
commit b8dd7063d5
9 changed files with 106 additions and 121 deletions

View File

@@ -1,16 +1,19 @@
//apply ByteX宿主
if (!rootProject.isAndroidTestBuild()) {
def isAndroidTest = rootProject.isAndroidTestBuild()
if (!isAndroidTest) {
apply plugin: 'bytex'
ByteX {
enable true
enableInDebug true
}
apply from: rootProject.file('gradle/bytex/bytex_config.gradle')
apply from: rootProject.file('gradle/bytex/bytex_router.gradle')
apply from: rootProject.file('gradle/bytex/bytex_log_chain.gradle')
apply from: rootProject.file('gradle/bytex/bytex_sticky_service.gradle')
apply from: rootProject.file('gradle/bytex/bytex_thread_opt.gradle')
apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
apply from: rootProject.file('gradle/bytex/bytex_apm.gradle')
apply from: rootProject.file('gradle/bytex/bytex_systrace.gradle')
}
apply from: rootProject.file('gradle/bytex/bytex_config.gradle')
apply from: rootProject.file('gradle/bytex/bytex_router.gradle')
apply from: rootProject.file('gradle/bytex/bytex_log_chain.gradle')
apply from: rootProject.file('gradle/bytex/bytex_sticky_service.gradle')
apply from: rootProject.file('gradle/bytex/bytex_thread_opt.gradle')
apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
apply from: rootProject.file('gradle/bytex/bytex_apm.gradle')
apply from: rootProject.file('gradle/bytex/bytex_systrace.gradle')

View File

@@ -1,26 +1,24 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'apm-plugin'
ApmPlugin {
// 是否进行插桩
enable true
// 是否在Debug包插桩默认不插桩
enableInDebug true
// DEBUG("DEBUG"), INFO("INFO"), WARN("WARN"), ERROR("ERROR");
// INFO 级别Log会汇总所有被插桩处理的类供查看路径 app/build/ByteX/ApmPlugin
logLevel "DEBUG"
// 启动分析开关监控App启动耗时需要同时开启pageLoadSwitch
startSwitch = true
// 页面响应开关监控Activity的生命周期耗时
pageLoadSwitch = true
// 网络监控开关:监控okhttp3的网络请求
okHttp3Switch = false
// 白名单下的包进行插桩,需要填写要插装类所在的包名,支持前缀配置
whiteList = [
"com.mogo"
]
// 黑名单包下类不进行插桩,可以配置包名和类名,没有可以填空
blackList = [
apply plugin: 'apm-plugin'
ApmPlugin {
// 是否进行插桩
enable true
// 是否在Debug包插桩默认不插桩
enableInDebug true
// DEBUG("DEBUG"), INFO("INFO"), WARN("WARN"), ERROR("ERROR");
// INFO 级别Log会汇总所有被插桩处理的类供查看路径 app/build/ByteX/ApmPlugin
logLevel "DEBUG"
// 启动分析开关监控App启动耗时需要同时开启pageLoadSwitch
startSwitch = true
// 页面响应开关监控Activity的生命周期耗时
pageLoadSwitch = true
// 网络监控开关监控okhttp3的网络请求
okHttp3Switch = false
// 白名单下的包进行插桩,需要填写要插装类所在的包名,支持前缀配置
whiteList = [
"com.mogo"
]
// 黑名单包下类不进行插桩,可以配置包名和类名,没有可以填空
blackList = [
]
}
]
}

View File

@@ -1,4 +1 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'biz.config.hook'
}
apply plugin: 'biz.config.hook'

View File

@@ -1,21 +1,19 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'LancetX'
LancetX {
enable true
enableInDebug true
weaveGroup {
anr_fix {
enable true
}
crash_fix {
enable true
}
memory_leak {
enable true
}
textview_opt {
enable true
}
apply plugin: 'LancetX'
LancetX {
enable true
enableInDebug true
weaveGroup {
anr_fix {
enable true
}
crash_fix {
enable true
}
memory_leak {
enable true
}
textview_opt {
enable true
}
}
}

View File

@@ -1,8 +1,6 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'chain.log.hook'
hooklog {
enableTraceToServer false
enableLoggerToLocal true
}
apply plugin: 'chain.log.hook'
hooklog {
enableTraceToServer false
enableLoggerToLocal true
}

View File

@@ -1,8 +1,5 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'bytex.arouter'
arouter {
enable true
enableInDebug true
}
apply plugin: 'bytex.arouter'
arouter {
enable true
enableInDebug true
}

View File

@@ -1,3 +1 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'bytex.notsticky.service'
}
apply plugin: 'bytex.notsticky.service'

View File

@@ -1,50 +1,48 @@
//if (!isAndroidTestBuild()) {
///**
// * 方便使用systrace工具在工程侧打点便于分析工程侧性能问题
// */
//apply plugin: 'bytex.systrace'
//systrace {
// /**
// * 方便使用systrace工具在工程侧打点便于分析工程侧性能问题
// * 交付时要关闭,会有性能损耗
// */
// apply plugin: 'bytex.systrace'
// systrace {
// /**
// * 交付时要关闭,会有性能损耗
// */
// enable false
// enableInDebug false
// /**
// * - 是否使用[Trace.beginAsyncSection(String, int)/Trace.endAsyncSection(String, int)]进行打点
// * - 默认使用[Trace.beginSection(String)/Trace.endSection()]进行打点
// */
// isTraceAsync false
// /**
// * - 是否在运行时只针对主线程打点,其它线程不打
// */
// isOnlyMainThread false
// enable false
// enableInDebug false
// /**
// * - 是否使用[Trace.beginAsyncSection(String, int)/Trace.endAsyncSection(String, int)]进行打点
// * - 默认使用[Trace.beginSection(String)/Trace.endSection()]进行打点
// */
// isTraceAsync false
// /**
// * - 是否在运行时只针对主线程打点,其它线程不打
// */
// isOnlyMainThread false
//
// /**
// * - 是否忽略对类的静态构造方法打点
// * - 默认不忽略
// */
// isIgnoreClinitMethod false
// /**
// * - 是否忽略对类的静态构造方法打点
// * - 默认不忽略
// */
// isIgnoreClinitMethod false
//
// /**
// * - 是否忽略对类中的简单方法打点
// * 简单方法定义:
// * - 空方法
// * - get/set 方法
// * - 单独的方法,方法体内没有调用其它方法
// * - 默认不忽略
// */
// isIgnoreSampleMethod false
// /**
// * - 是否忽略对类中的简单方法打点
// * 简单方法定义:
// * - 空方法
// * - get/set 方法
// * - 单独的方法,方法体内没有调用其它方法
// * - 默认不忽略
// */
// isIgnoreSampleMethod false
//
// /**
// * - 针对特定类集合,配置打点白名单,在此集合中的类中的所有方法不打点
// * - 支持正则表达式
// */
// whiteListForClass = []
// /**
// * - 针对特定类集合,配置打点白名单,在此集合中的类中的所有方法不打点
// * - 支持正则表达式
// */
// whiteListForClass = []
//
// /**
// * - 针对特定包名集合,配置打点白名单,所有类以此包名为前缀的类不打点
// * - 支持正则表达式
// */
// whiteListForPackage = []
// }
// /**
// * - 针对特定包名集合,配置打点白名单,所有类以此包名为前缀的类不打点
// * - 支持正则表达式
// */
// whiteListForPackage = []
//}

View File

@@ -1,9 +1,7 @@
if (!rootProject.isAndroidTestBuild()) {
apply plugin: 'bytex.threadOpt'
thread_opt {
enable true
enableInDebug true
logLevel "DEBUG"
}
apply plugin: 'bytex.threadOpt'
thread_opt {
enable true
enableInDebug true
logLevel "DEBUG"
}