Skip to content

2.0.1 Dev 12

Pre-release
Pre-release

Choose a tag to compare

@ytdttj ytdttj released this 30 Sep 15:09
· 64 commits to main since this release

2.0.1 Dev 12 — 诊断日志可读性 + 上岛时间链 + Hook 回流修复

本版是排查工具版:上岛延迟(几十秒~一两分钟)要定位到段,靠的是日志能看懂。
配套新增了《诊断日志解读指南.md》(随仓库发布,11 个文件逐个讲怎么读)。

1. 日志与 CSV 补通知正文

  • 10-通知历史-24h.csv 新增通知正文、通知通道两列——判断"这条为什么被判广告"
    的依据是标题+正文合流后的文本,通道还会带来偏置权重,只有标题没法归因
  • 02-过滤决策管线 的「通知」行、03-上岛链路 的「收到通知」行同样补正文片段(60 字)
  • 附带隐私提示:CSV 与 02/03 日志现在含完整通知正文,分享前留意验证码、金额

2. 上岛时间链与 lag(延迟定位的关键)

每条通知现在都记录原始发布时间与投递滞后:

09-30 21:47:41.071 通知 pkg=com.tencent.mm post=09-30 21:43:41.000 lag=4分0秒 title=微信支付 content=已支付¥1.00
09-30 21:47:41.097 岛通知已提交系统 (id=9005, LSPosed 放行认证, srcPost=09-30 21:43:41.000, lag=4分0秒, took=2ms)
  • post = 微信/银行发出通知的时刻;lag = 发出 → 我们收到/提交的间隔
  • lag 几十秒以上 = 系统在灭屏/冻结期间积压、亮屏才补投,App 处理再快也没用
  • took = 纯 App 内部耗时(实测 1~71ms),用于证明 App 侧没拖后腿
  • 00 诊断头新增「上岛延迟怎么看」小节,把各段含义写清楚

背景:9-30 的日志里,微信 21:43:41 发的支付通知我们 21:47:41 才收到(4 分钟),
这种投递积压此前只能靠交叉比对数据库才发现,现在每条都直读。

3. Hook 回流修复(xmsf 认证事件此前 100% 丢失)

排查发现 04-Hook回流-HOOK.log 里 xmsf 侧 0 条事件,而 LSPosed 日志里一大堆——
根因是 xmsf 进程里 ActivityThread.currentActivityThread() 取不到,HookLogSink
拿不到 Context 时直接静默丢弃。修复:

  • ctx 为 null 时自动回退系统上下文;仍拿不到则计数 + 写 logcat(tag NCIslandHook,
    已加入诊断导出的抓取列表),并在下一次成功回流时带出"此前丢弃 N 条"
  • 新增 contextOf():参数 Context → thisObject 的 mContext → 系统上下文,三级兜底
  • auth-BYPASSED 现在带真实错误码与错误信息——之前只知道"认证失败了",
    现在能开始分析为什么失败(LSP 实测:6 次认证全部失败,全靠 hook 兜底,每次白等 0.5~0.8s)

4. 配套文档

新增 《诊断日志解读指南.md》:ZIP 里 11 个文件逐个说明、决策常量对照表
(PASSED / FILTERED_BY_AI / FILTERED_BY_AI_MODULE / ... 什么意思)、四类常见问题的
排查路径(误判 / 学了没生效 / 没上岛 / 上岛慢)、已知盲区(岛渲染无数据)、
折叠 / 轮转 / 时间裁剪机制说明。

校验信息

  • APK:NotiCleaner-2.0.1Dev12.apk,4,600,908 B
  • SHA-256:4b8a35d25d8e75254650c563a894cf843b3e084d60f51768faaf59ec2ce7aed3
  • versionCode 63 / versionName 2.0.1 Dev 12
  • 签名证书 SHA-256:f0bd6f01802bcd664188f8aad682db89b0ebb10afbe8d32515fe275c30b8c808
    (与历史版本一致,可直接覆盖安装)

说明

  • 模块端(SystemUI / xmsf)的 hook 需要重启一次才会重新注入新代码
  • 装上后下次导出诊断:02/03 里每条通知都会带 post= 与 lag=,上岛延迟在哪一段
    一眼可见;04-HOOK 里 xmsf 认证事件(含失败原因)第一次可观测