From 7abb5d0de052f9513c31c03f5fb5a8114cf8e71a Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 28 Nov 2023 20:05:13 +0800 Subject: [PATCH] =?UTF-8?q?[6.2.0][=E6=8A=80=E6=9C=AF=E4=BC=98=E5=8C=96]?= =?UTF-8?q?=20=E5=9F=BA=E4=BA=8Eapm=E5=B9=B3=E5=8F=B0=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=9B=9E=E6=8D=9E=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +++- .../launcher/lancet/jank/spi/HookInvokerImpl.java | 4 ++-- build.gradle | 4 ++++ .../mogo-core-function-devatools/build.gradle | 4 ++++ .../block/MoGoBlockProviderImpl.kt | 13 ++++++++++++- gradle/bytex/bytex_handler_proxy.gradle | 4 ++-- gradle/bytex/bytex_lancetx.gradle | 4 ++-- .../crashreport/apm/ApmCrashReportProvider.java | 2 +- 8 files changed, 30 insertions(+), 9 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 608f707c2b..c035cc6a4c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -224,7 +224,7 @@ dependencies { implementation rootProject.ext.dependencies.android_start_up implementation rootProject.ext.dependencies.lancetx_runtime - if (!rootProject.isReleaseBuild()) { + if (!rootProject.isJunkDetectEnable()) { implementation rootProject.ext.dependencies.lancetx_compiler_lib implementation rootProject.ext.dependencies.handler_proxy_runtime @@ -236,6 +236,8 @@ dependencies { kapt rootProject.ext.dependencies.google_auto_service compileOnly rootProject.ext.dependencies.google_auto_service + + compileOnly rootProject.ext.dependencies.apm_insight } // implementation rootProject.ext.dependencies.mogocustommap diff --git a/app/src/debug/java/com/mogo/launcher/lancet/jank/spi/HookInvokerImpl.java b/app/src/debug/java/com/mogo/launcher/lancet/jank/spi/HookInvokerImpl.java index a553067f38..14c0adcd81 100644 --- a/app/src/debug/java/com/mogo/launcher/lancet/jank/spi/HookInvokerImpl.java +++ b/app/src/debug/java/com/mogo/launcher/lancet/jank/spi/HookInvokerImpl.java @@ -2,7 +2,7 @@ package com.mogo.launcher.lancet.jank.spi; import android.app.Activity; import android.os.Looper; import android.os.SystemClock; -import android.util.Log; +import com.apm.insight.log.VLog; import com.google.auto.service.AutoService; import com.mogo.core.lancetx.compiler.lib.generator.Type; import com.mogo.core.lancetx.compiler.lib.hook.IHookInvoker; @@ -167,7 +167,7 @@ public class HookInvokerImpl implements IHookInvoker { } builder.setLength(builder.length() - 1); } - Log.w("HookHandler", "Junk Detected:" + builder); + VLog.w("HookHandler", "Junk Detected:" + builder); linkedLog(type, builder.toString()); if (flag) { extra.setLength(0); diff --git a/build.gradle b/build.gradle index bbf5ede900..92588d34d0 100644 --- a/build.gradle +++ b/build.gradle @@ -171,3 +171,7 @@ boolean isReleaseBuild() { } return false } + +boolean isJunkDetectEnable() { + return isReleaseBuild() +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/build.gradle b/core/function-impl/mogo-core-function-devatools/build.gradle index dd29601f0e..e3ea1d2cc6 100644 --- a/core/function-impl/mogo-core-function-devatools/build.gradle +++ b/core/function-impl/mogo-core-function-devatools/build.gradle @@ -102,6 +102,10 @@ dependencies { implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-function-call') implementation project(':core:mogo-core-res') + + if (!rootProject.isJunkDetectEnable()) { + compileOnly rootProject.ext.dependencies.apm_insight + } } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/block/MoGoBlockProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/block/MoGoBlockProviderImpl.kt index 0b42689163..0f3340cf49 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/block/MoGoBlockProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/block/MoGoBlockProviderImpl.kt @@ -4,6 +4,7 @@ import android.content.* import android.util.* import android.view.* import androidx.metrics.performance.* +import com.apm.insight.log.VLog import com.mogo.eagle.core.block.runtime.* import com.mogo.eagle.core.block.runtime.config.* import com.mogo.eagle.core.block.runtime.config.recorder.* @@ -17,6 +18,10 @@ import java.util.concurrent.TimeUnit.SECONDS internal class MoGoBlockProviderImpl: IMoGoBlockProvider, IBlockListener { + companion object { + private const val TAG = "BLOCK_REPORT" + } + @Volatile private var hasInit = false @@ -64,7 +69,13 @@ internal class MoGoBlockProviderImpl: IMoGoBlockProvider, IBlockListener { } } } - linkedLog.record(GsonUtils.toJson(map)) + val msg = GsonUtils.toJson(map) + try { + VLog.w(TAG, msg) + } catch (t: Throwable) { + Log.e(TAG, "onDumped error", t) + } + linkedLog.record(msg) } }) } diff --git a/gradle/bytex/bytex_handler_proxy.gradle b/gradle/bytex/bytex_handler_proxy.gradle index d39dc3b0b9..ef50728d6a 100644 --- a/gradle/bytex/bytex_handler_proxy.gradle +++ b/gradle/bytex/bytex_handler_proxy.gradle @@ -1,6 +1,6 @@ apply plugin: 'bytex.handler_proxy' handler_proxy { - enable !rootProject.isReleaseBuild() - enableInDebug !rootProject.isReleaseBuild() + enable !rootProject.isJunkDetectEnable() + enableInDebug !rootProject.isJunkDetectEnable() } diff --git a/gradle/bytex/bytex_lancetx.gradle b/gradle/bytex/bytex_lancetx.gradle index 7f1ff9efe7..0d6e97431e 100644 --- a/gradle/bytex/bytex_lancetx.gradle +++ b/gradle/bytex/bytex_lancetx.gradle @@ -8,7 +8,7 @@ LancetX { "com.zhjt.mogo_core_function_devatools.perf" ] synchronizedLock { - enabled !rootProject.isReleaseBuild() + enabled !rootProject.isJunkDetectEnable() blackList = [ "okio.AsyncTimeout\$Watchdog" ] @@ -28,7 +28,7 @@ LancetX { enable true } main_block_check { - enable !rootProject.isReleaseBuild() + enable !rootProject.isJunkDetectEnable() } } } diff --git a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java index b0c6964cfa..15053e52cf 100644 --- a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java +++ b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java @@ -288,7 +288,7 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { ApmInsight.getInstance().init(context, builder.build()); //初始化自定日志,配置自定义日志最大占用磁盘,内部一般配置20,代表最大20M磁盘占用。1.4.1版本开始存在这个api - VLog.init(context, 20); + VLog.init(context, 50); } }