跳到主要内容

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 或 ReleaseBuild 右侧菜单
清理本地 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 才会启动生命周期。

标准流程​

构建并部署,但不启动​

  1. 保存所有要交付的修改。
  2. 核对顶栏 Runtime target,特别是生产与测试目标。
  3. 从 Build 菜单选择需要的 Debug 或 Release Profile。
  4. 点击 Build。若出现未保存文件提醒,确认哪些磁盘内容会被构建。
  5. 若 App 正在 Running 或 Debugging,核对停机影响后确认 Stop 并部署;取消会保留当前运行实例。
  6. 等待成功提示,并确认 Problems 没有阻止运行的错误。

部署在 Stopped 替换目标版本;运行中部署需先确认 Stop,并在资源完整释放后替换。部署成功仍为 Stopped,需明确 Start / Debug 才会创建运行实例。Design 不依赖部署。

Start 或 Debug 时构建并继续​

Start 和 Debug 会先检查已保存工程的构建状态,并与目标上部署的 App 和版本比较。若尚未部署、部署的是另一个 App、已保存文件有变化,或部署版本与当前构建结果不一致,编辑器会弹出“需要重新构建”,询问是否构建并继续。Debug 遇到 Release 版本时也会提示:

  1. 先保存希望进入运行态的修改。
  2. 确认对话框中的动作和当前 Runtime target。
  3. 选择 Build and continue。
  4. 编辑器依次 Build、Deploy,并只在成功后继续原来的 Start 或 Debug。
  5. 等待 Running 或 Debugging,再开始验收。

点击取消会保持当前状态。Build 或 Deploy 失败时,原来的 Start/Debug 不会继续。

应用中心的 Run 同样比较已保存工程与目标版本;不是最新时会先询问是否构建并运行。如果编辑器检查后目标被其他窗口替换,Start/Debug 也会提示重新构建;确认成功后只重试一次。

修改运行中的 App​

  1. 修改并保存工程。
  2. 对同一个 Runtime target 重新 Build。
  3. 在提示中确认 Stop 并部署;若不希望中断当前实例,取消即可。
  4. Start 或 Debug。
  5. 验证正常、边界、异常、停止和恢复路径。

保存文件、刷新编辑器或进入 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 失败。只修复阻止构建的 .qp Page、.qpc Component、.qg QG、Object 或 C# Provider 问题,不改变设备地址、工艺顺序或 Safety。完成后列出修改文件、诊断结果和仍需人工验证的假设。

AI 可以整理诊断和修改工程,但不能选择生产目标、批准替换、证明设备动作安全,或代替现场验收。

必须人工确认​

  • Runtime target、Build Profile 和账户权限正确。
  • 未保存草稿没有被误认为已经交付。
  • 设备地址、工艺顺序、角色权限和 Safety 未被意外改变。
  • 生产替换、停机和恢复计划已批准。
  • 正常、边界、异常和恢复场景全部通过。