Repository navigation
2.0.1 Dev 12
Pre-release
Pre-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 认证事件(含失败原因)第一次可观测