使用日志排查 BetterVia 行为——模块内部调试信息解读
BetterVia 有没有内置日志
BetterVia 的早期版本日志能力有限,主要依赖 LSPosed 框架本身的 hook 日志。V1.8.0 之后模块内置了独立的调试日志面板,开发者称「后续版本会继续扩展」。
LSPosed 框架层日志
这是排查 BetterVia 问题的主力手段。LSPosed 管理器自带完整的模块 hook 日志:
查看方式
- 打开 LSPosed 管理器
- 点击底部「日志」标签
- 过滤关键词「BetterVia」或模块包名
com.jiguro.bettervia
关键日志条目解读
| 日志内容 | 含义 |
|---|---|
[BetterVia] Xposed hook initialized | 模块 hook 层初始化成功 |
[BetterVia] Module scope: mark.via | 模块已对目标 Via 包名建立作用域 |
[BetterVia] Class not found: com.via.some.Class | hook 失败——目标类在当前 Via 版本上不存在 |
[BetterVia] Method not found: xyz() | hook 失败——目标方法签名变化 |
[BetterVia] Permission denied: READ_STORAGE | 模块缺少某个运行时权限 |
[BetterVia] Whitelist bypass enabled | 某功能开关已被激活 |
[BetterVia] Crash caught | 模块内部异常被捕获,不会导致 Via 闪退 |
常见问题定位
问题:模块入口按钮在 Via 设置里不出现
查日志里有没有 Module scope 相关条目 → 没有 = 作用域没勾对 → 去 LSPosed 作用域里重新勾选。
问题:解除白名单开关打开但目标站点还是不能嗅探
查日志里有没有 Whitelist bypass enabled → 有但没效果 = hook 到了但目标逻辑没匹配成功 → 大概率是 Via 版本变了 hook 点失效,升级 BetterVia。
问题:Via 打开后频繁闪退
查日志里有没有 Crash caught 或 Java 堆栈 → 看到具体崩溃行后,去 GitHub Issues 搜索是否已有同类报告。
BetterVia 内部日志面板
V1.8.0+ 版本的 BetterVia 设置面板里有一个「日志与诊断」入口(通常在「关于」子菜单里),点击后会显示:
- 当前运行版本号和构建号
- 模块已启用的功能列表(勾选状态)
- 最近一次 hook 操作的详细结果
- 一键导出诊断包(包含以上信息 + 设备型号 + Android 版本 + Via 版本 + 框架版本)
导出的诊断包可以直接发给开发者或在 GitHub Issues 里上传——开发者要求反馈时必须附上这个诊断包。
不要做的事
- 不要手动清除 LSPosed 缓存:这会删掉框架级的 hook 配置,重启后需要重新配置
- 不要手动编辑 BetterVia 的数据文件:开发者没开放文件结构文档,改了大概率触发完整性校验
- 不要在 Via 设置里清除浏览器数据来排查 BetterVia:这会删掉 Cookie、历史、离线网页,和 BetterVia 的 hook 行为无关,可能反而掩盖问题
升级 BetterVia 后仍有问题
从较旧版本升级到新版 BetterVia 时,如果遇到之前没问题但新版有问题的情况:
- 先清空 BetterVia 应用存储(让它从默认配置启动)
- 重启 Via 后再观察
- 还是不行 → 导出诊断包 → GitHub Issues 反馈