HeimLink App 使用说明:日志与开发者选项

诊断分组、上传日志、导出日志、解锁开发者选项、调试工具台、调试桥、控制页更新、Debug 页 · 对应 App 0.6.3 之后的 dev 分支(2026-09-30)

HeimLink App 使用说明系列

这一页讲报问题时用得到的功能:设置页的诊断分组、上传日志、导出日志,以及连点版本号解锁的开发者选项(调试工具台、调试桥、控制页更新)和内测包才有的 Debug 页。

报问题时最有用的三步

设置页的诊断分组

所有构建都有

项目说明
Env这个包的环境:development(开发)、preview(内测)或 production(商店)。
Build构建信息:代码来自哪个提交、什么时候打的包。
Protocol这个包实现的空中协议版本。设备固件与它不匹配时配对会报「该设备使用的协议版本不受支持」。
Operator输入框,填持机人的名字(最长 32 字),会随每条上传的日志一起发出。只存在日志设置里,不影响设备数据。
Debug只有开发包和内测包有,进入 Debug 页,见下文。
导出日志右侧显示当前日志条数和大小。点开选时间范围(最近 1 小时 / 最近 24 小时 / 最近 7 天 / 全部日志),生成一个 JSONL 文件走系统分享菜单,第一行是手机与构建信息。适合用微信直接发给开发者。
清除日志删掉本机全部日志。

上传日志

右下角的悬浮上传按钮

开发包和内测包默认显示这个按钮;商店包默认隐藏,解锁开发者选项后可以打开。点开后按顺序:

  1. 选时间范围:「最近 15 分钟」(默认高亮)、「最近 1 小时」、「最近 8 小时」、「全部日志」。范围越短越好定位,刚复现完就选 15 分钟。
  2. 「正在整理日志…」然后「正在上传…」,按钮上会转圈,期间可以继续用 App。
  3. 「日志已上传」,下面是大写的上传 ID和「复制」按钮,以及这次上传的范围、条数和大小。把 ID 填进工单,开发者用它取日志。

失败时的提示:「所选时间范围内没有日志。」换更长的范围;「所选时间范围的日志超过 50 MiB,请选择更短的时间范围。」;「日志未上传,请检查网络后重试。」点「重试」,不想传了点「放弃」;「文件已到达对象存储,但登记失败,请重新上传。」重新来一次。Debug 页里的「Upload history」能看本机每次上传的 ID、时间和大小。

解锁开发者选项

设置 → 关于 → 版本

连续点「版本」这一行 7 次,两次点击间隔不能超过 3 秒。从第 4 次起会提示「再点 N 次解锁开发者选项。」,解锁后提示「开发者选项已解锁。」,设置页底部出现「开发者选项」和「控制页更新」两个分组。所有构建都能解锁,解锁状态会保存。

开发者选项

三个开关与调试桥

项目说明
显示调试控制台打开后屏幕底部常驻一块黑色的「调试工具台」,见下文。
显示上传日志按钮控制右下角的悬浮上传按钮显不显示。Debug 页里的「Upload logs」不受影响。
向调试桥同步日志总开关。还没有地址时打开它会直接弹出扫码;关掉同时清除地址。下面一行小字显示当前地址。
扫码接入扫电脑上 hldb start 打印的二维码。不是调试桥的码会提示「这不是调试桥的二维码。」。
手动输入地址填 hldb://IP:端口?token=… 形式的完整地址。
状态未连接 / 连接中… / 已连接,会话 #N。出错时显示原因:「令牌不匹配,请重新扫码」「调试桥版本更新,请升级 App」「App 版本较新,请到群里下载新版调试桥」。
断开并清除有地址时才显示,断开并忘掉这个地址。

调试桥连上后 App 顶部会出现一个小标记「调试桥:正在同步日志」,日志实时发到电脑,断线重连后自动补齐。调试桥程序由开发者发布到群里,手机和电脑要在同一个 Wi-Fi。

调试工具台

打开「显示调试控制台」后,App 界面被压到上半部分,下半部分是黑底的工具台。顶部一行左边写着「调试工具台」,右边是三个页签;按住这一行上下拖可以改高度,轻点仍然是切页签。

控制页更新

开发者选项解锁后出现的分组

设备控制页是内置在 App 里的网页,这里可以不发新 App 就换一版控制页。App 不会自动检查或安装,只有这里一个入口。

项目说明
渠道点一下在 stable → beta → dev 之间轮换。
检查更新向服务器查询所选渠道每个控制页的版本,期间显示「正在检查…」。
每个控制页一行例如「Thermostat (heimlink-thermostat)」,下面是「在用 x · 内置 y · 已下载 z」:在用是现在打开设备页跑的版本,内置是随 App 打包的版本,已下载是之前从服务器装的版本(没有则显示「无」)。再下面一行是检查结果。
安装只在结果为「渠道版本 x,可安装」时出现。装完显示「已安装 x,下次打开设备页生效」。

其它结果:「渠道版本 x,不高于在用版本」表示服务器上的不比现在的新,不会装;「该渠道没有可用的包(HTTP n)」表示这个渠道没发布;「检查失败:…」多为网络问题。

固件通道

与开发者选项的关系

固件升级页的 beta / stable 通道开关,在开发包和内测包里一直可用,默认 beta;商店包默认只用 stable,解锁开发者选项后才出现开关,可以切到 beta 测试未正式发布的固件。详见「固件升级」一页。

Debug 页

设置 → 诊断 → Debug,只有开发包和内测包有

页面顶部写着「Isolated debug tools live here and do not change core device flows.」,工具分三组:

分组项目说明
HTTP DemosWebView Local HTTP Demo开发用的网页加载演示,测试不用管。
DiagnosticsLogs日志查看器:「Share / Copy」分享、「Pause / Resume」暂停刷新、「Refresh」、「Clear」;可按级别(level)和命名空间(ns)过滤,点一条展开完整内容。
Upload logs与右下角的上传按钮同一个流程,按钮被隐藏时从这里上传。
Upload history本机的上传记录:上传 ID、时间、范围、条数、大小。
Error CaptureTrigger uncaught exception故意制造三种程序错误,用来验证错误捕获是否正常。测试时不要点,点了会看到错误页或日志里多出一条 App:* 的错误。
Trigger unhandled rejection
Trigger render error