Files
matrix-screen-controller/移动端相关内容/安卓app/测试结果归档/2026-09-24_断线与重连排查.md
T

2.7 KiB

断线与重连排查(进行中)

用户反馈:App 连接后可能自行断开,返回重连不成功。测试手机使用代号 android-test-a;不记录真实蓝牙地址、序列号和网络凭据。

已实施

  • RPC/握手内部超时转换为通信失败,关闭旧 GATT,避免被 CancellationException 分支吞掉而残留连接界面。
  • GATT 建立超时也转换为通信失败;仅在握手前针对同一设备最多两次尝试,用户取消不重试,业务写请求不重放。
  • 该手机曾对一次 MTU 请求报告 517 和 247;App 接收上限保守限制为 247,服务发现只启动一次,防止重复发现/订阅。
  • 设备端应用声明 MTU 与 BlueZ 上限取较小值的修复已在此前开发部署,本轮未改动显示驱动。
  • 真机测试增加持续轮询、生产 Controller 三页读取及前后台释放/重连。运行器允许 --poll-cycles 0 单独定位连接/Controller 问题,但此模式不算持续轮询验收;默认仍为 60。运行器主机超时时停止本 App 的 instrumentation,防止遗留连接。

实际结果

项目 结果
核桃派主服务、bluetooth、aw859-bluetooth 三者 active;未发现上次部署中途停服
Android debug 与 instrumentation APK 构建 通过;源码在原中文路径,构建使用隔离 ASCII 路径
JVM 测试 6 项通过:跨语言加密 3、协议 2、RPC 超时清理 1
60 轮真实状态/当前帧读取及重新握手 一次通过,耗时 195.316 秒
最新重复 MTU 回调修复后的底层读取 增强测试完成底层部分,随后 Controller 等待首屏数据失败;整体不能判通过
生产 Controller 三页及前后台 等待首屏容量数据 30 秒超时,未完成后续步骤;已补充 phase/error 诊断
随后针对性复测 扫描成功,GATT 建立失败;尚未进入 Controller 检查
间歇性 GATT 建立失败 Android 曾报告状态码 62;同环境后续可连接并完成持续测试,原因未确认
仓库卫生检查 已通过 550 个候选文件;后续新文档仍需最终复查
视觉检查 不适用;未启动相机或切换实屏测试图案

以上不等同首版交付通过,也不将一次稳定通信视为偶发问题已经完全解决。当前修复 APK 已覆盖安装在主测试机,只有 debug 签名。

下一步

先确认测试期间没有人工操作干扰及设备距离,继续定位 GATT 建立失败;随后重新完成生产 Controller 状态机测试、蓝牙关闭/恢复、服务重启及异常断线恢复。按用户要求,新 root 用途必须先停止对话说明并等待开始授权;此前授权仅覆盖本 App 的蓝牙权限授予,不自动扩大用途。