Build 与运行验收
编辑器或应用中心当前项目顶栏的 Build 会检查磁盘上已保存的工程,并把可运行版本部署到当前 Runtime target。Build 成功不等于 App 已经启动;之后仍需 Start、Run 或 Debug。
本页目标
阅读本页后,你应该能够:
- 判断一项修改是否需要重新 Build;
- 选择 Build Debug 或 Build Release;
- 独立 Build,或在 Start/Debug 提示时使用 Build and continue;
- 根据 Problems、运行状态和目标信息定位交付失败。
操作入口
| 任务 | 入口 |
|---|---|
| 选择 Runtime target | 编辑器顶栏 Build 左侧 |
| 使用上次选择的 Profile 构建 | 编辑器顶栏 Build |
| 从应用中心构建或运行首页 | 当前项目会话页左上角 Build / Run |
| 从系统原生菜单构建、运行或管理目标 | 菜单栏 运行 |
| 指定 Debug 或 Release | Build 右侧菜单 |
| 清理本地 Build 结果 | Build 右侧菜单中的清理 |
| 启动或调试 | 顶栏 Start / Debug |
| 停止 | 顶栏 Stop |
| 查看构建错误 | 底部 Problems |
| 查看运行错误 | Console、故障对话框和运行状态 |
编辑器右上角的 Build 和运行控制始终保留:停止时显示 Start / Debug,运行时显示 Stop。首次尚未部署也可以 Build。无法获取运行状态时,按钮会禁用并显示提示;请检查左侧 Runtime target 的连接和登录状态。
哪些修改需要 Build
只要修改会影响目标上的页面、逻辑、数据定义、设备或权限,就应在保存后重新 Build。
| 修改内容 | 是否需要 Build | 验收重点 |
|---|---|---|
.qp Page、.qpc Component、样式、事件、Asset、i18n | 需要 | 页面显示、交互、内容路径和多语言 |
.qg QG 程序 | 需要 | 顺序、分支、等待、超时、故障和恢复 |
| Object 实例、属性、引用或自定义 C# Provider | 需要 | ObjectType 是否可用、参数和真实设备行为 |
| Variable、Query | 需要 | 初始值、请求参数和外部系统结果 |
| App 用户、角色、首页和模块开关 | 需要 | 登录、权限、导航和启用能力 |
| Motion、Vision、Safety 配置 | 需要 | 目标硬件、批准版本、联锁和异常路径 |
| Git 提交、AI 会话、编辑器布局 | 不需要 | 这些内容不进入运行态 |
Build 只读取已保存到磁盘的文件。未保存草稿不会进入部署版本。若打开的文档仍有未保存、冲突或已删除状态,编辑器会先提醒;继续时仍以磁盘内容为准。
选择 Build Profile
| Profile | 适用场景 | 注意事项 |
|---|---|---|
| Build Debug | 开发、故障定位和 QG 源码断点 | 保留本机源码调试信息 |
| Build Release | 交付和性能验收 | 优化页面代码、减小交付体积,不支持 QG 源码断点 |
Build 主按钮重复上一次选择的 Profile。Start 可以运行与当前已保存工程一致的部署版本。Debug 需要 Debug 版本;若当前部署为 Release,会提示重新构建。Debug 触发 构建并继续时使用 Debug Profile,Start 则使用上次选择的 Profile。
系统原生菜单栏的运行把构建和生命周期操作放在同一个菜单中,但 Build/Deploy 与 Run/Debug 仍是独立命令。选择 Build Debug 或 Build Release 只构建并部署;只有继续选择 Run 或 Debug 才会启动生命周期。
标准流程
构建并部署,但不启动
- 保存所有要交付的修改。
- 核对顶栏 Runtime target,特别是生产与测试目标。
- 从 Build 菜单选择需要的 Debug 或 Release Profile。
- 点击 Build。若出现未保存文件提醒,确认哪些磁盘内容会被构建。
- 若 App 正在 Running 或 Debugging,核对停机影响后确认 Stop 并部署;取消会保留当前运行实例。
- 等待成功提示,并确认 Problems 没有阻止运行的错误。
部署在 Stopped 替换目标版本;运行中部署需先确认 Stop,并在资源完整释放后替换。部署成功仍为 Stopped,需明确 Start / Debug 才会创建运行实例。Design 不依赖部署。
Start 或 Debug 时构建并继续
Start 和 Debug 会先检查已保存工程的构建状态,并与目标上部署的 App 和版本比较。若尚未部署、部署的是另一个 App、已保存文件有变化,或部署版本与当前构建结果不一致,编辑器会弹出“需要重新构建”,询问是否构建并继续。Debug 遇到 Release 版本时也会提示:
- 先保存希望进入运行态的修改。
- 确认对话框中的动作和当前 Runtime target。
- 选择 Build and continue。
- 编辑器依次 Build、Deploy,并只在成功后继续原来的 Start 或 Debug。
- 等待 Running 或 Debugging,再开始验收。
点击取消会保持当前状态。Build 或 Deploy 失败时,原来的 Start/Debug 不会继续。
应用中心的 Run 同样比较已保存工程与目标版本;不是最新时会先询问是否构建并运行。如果编辑器检查后目标被其他窗口替换,Start/Debug 也会提示重新构建;确认成功后只重试一次。
修改运行中的 App
- 修改并保存工程。
- 对同一个 Runtime target 重新 Build。
- 在提示中确认 Stop 并部署;若不希望中断当前实例,取消即可。
- Start 或 Debug。
- 验证正常、边界、异常、停止和恢复路径。
保存文件、刷新编辑器或进入 Design 都不会热替换正在运行的实例。
在另一台设备上验收
本页的 Build 流程对本机和远程目标相同,但远程交付还需要单独核对网络、安全连接、目标权限、许可证、停机窗口和 Player。请先完成Runtime 与现场交付,再回到本页执行 Build 和运行验收。
交付 Vision 或 Safety 修改
Vision 的检测版本必须先完成验证集并由责任人批准,再激活为当前版本。Safety 修改必须经过工程联锁测试。两者保存后都不会热更新运行实例;请 Stop、Build、Start/Debug,并重新覆盖服务中断、异常值和恢复场景。
清理
清理只移除当前工程和目标的本地 Build 结果,使下一次 Build 重新生成。它不会:
- 删除或修改工程源码;
- 自动开始新的 Build;
- 删除 Runtime target 上已经部署的 App;
- 清除 Saved Variable、Vision 数据或其他运行状态。
清理完成后,如需交付新版本,请再次点击 Build。
预期结果
- Build 使用正确 Runtime target 和 Profile,并成功完成部署。
- Problems 没有阻止运行的错误。
- 仅 Build 后状态为 Stopped。
- Start 后进入 Running;Debug 后进入 Debugging。
- 运行页、设备反馈、权限和批准配置都与本次修改一致。
- Stop、故障和恢复路径经过验证。
常见问题
Build 按钮不可用
Starting、Stopping 或另一个 Build/Deploy 操作正在执行时,Build 不可用。Running 和 Debugging 可以 Build,但部署前必须确认 Stop。
Start 没有提示 Build,但运行的仍是旧版本
Start 只检查已保存的文件。先确认修改已经保存,并核对当前 Runtime target;未保存草稿不会触发版本过期提示,也不会进入 Build。保存后再次 Start,或主动 Build 后再启动。
Build and continue 后没有启动
检查 Problems 和部署错误。只有 Build 与 Deploy 都成功,编辑器才会继续原来的 Start 或 Debug。
Build 要求停止正在运行的 App
先确认目标、现场运行状态和停机窗口。取消不会改变当前实例;确认后 Theseus 才会依次 Stop、完整释放资源并替换当前 Build。
Build 成功,但运行页仍显示旧行为
确认查看的是同一个 Runtime target,并重新 Start 或 Debug。必要时关闭并重新打开已经连接旧实例的运行页。
本机正常,远端失败
进入Runtime 与现场交付,检查目标地址、安全连接、权限、许可证和设备条件。以远端操作返回的错误和现场反馈为准。
AI 可以怎么帮
引用 Problems 中的错误和对应文件,并限定修改范围:
分析当前 Build 失败。只修复阻止构建的
.qpPage、.qpcComponent、.qgQG、Object 或 C# Provider 问题,不改变设备地址、工艺顺序或 Safety。完成后列出修改文件、诊断结果和仍需人工验证的假设。
AI 可以整理诊断和修改工程,但不能选择生产目标、批准替换、证明设备动作安全,或代替现场验收。
必须人工确认
- Runtime target、Build Profile 和账户权限正确。
- 未保存草稿没有被误认为已经交付。
- 设备地址、工艺顺序、角色权限和 Safety 未被意外改变。
- 生产替换、停机和恢复计划已批准。
- 正常、边界、异常和恢复场景全部通过。