33 lines
2.7 KiB
Markdown
33 lines
2.7 KiB
Markdown
# 断线与重连排查(进行中)
|
|
|
|
用户反馈: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 的蓝牙权限授予,不自动扩大用途。
|