先完成Hello 教程。下面命令分别执行,关闭窗口或按 Ctrl+C 停止持续运行的命令,再进行下一步。
日常循环
只改界面或逻辑时,保持一个 watch 运行即可,不必每次手动执行 build、run、再启动调试器。需要 PXADB 截图和输入时从一开始就启用 debug,避免从 Release 切到 Debug 后再完整编译一次:
pxa run hello --debug --watch
pxa run hello --device /dev/ttyACM1 --baud 2000000 --watch
编辑源文件、资源或项目配置后,工具重新构建。失败时保留上一次可运行应用;无内容变化时跳过安装。CMake 和 Ninja 负责真实依赖和增量编译,watch 只负责触发,不是新的构建系统。
当前模拟器 watch 会在新包验证成功后重启模拟器进程;它不保存 Guest 的内存状态。需要保留游戏进度时使用应用存档,不应把 watch 当作热状态迁移。
已配置 AI 工具的工作区使用 .pxa/pxa run apps/hello --watch,它会自动建立调试连接;真机使用 .pxa/pxa install apps/hello --port <实际串口>,不把裸 SDK 的 run --device 直接照搬到 Agent Kit。
先快速迭代,再完整验收
迭代时先验证当前屏幕的一组主要操作;布局稳定后再检查圆屏、竖屏和高 DPI。最后构建需要交付的芯片目标,不必每次改文案都编译所有 AOT:
pxa build hello --target esp32s3,esp32s31,simulator --offline
pxa publish hello/dist/pxa-hello.pxa --check-only
保留项目 .pxa/ 增量缓存和 pxa.lock。删除缓存会重新配置、编译和签名;修改源码无需重新运行环境 setup。AI 工具的单屏验证与可重放交互步骤见工具参考;交付前覆盖要求的布局,检查每张截图。
执行目标与屏幕预览
pxa run hello --profile pai-touch
pxa run hello --profile sensecap-watcher
pxa run hello --profile esp32s31-korvo-1
相同桌面 AOT 可以预览多种屏幕。桌面运行时间不能直接解释为 MCU 帧率。帧率、触摸和音频延迟必须在实际设备上按同一场景测量。
调试设备
pxa device info --port /dev/ttyACM1 --baud 2000000
pxa device package list --port /dev/ttyACM1 --baud 2000000
pxa device info --help
所有低层设备操作复用 PXADB。端口与目标不绑定:换设备后先查询 INFO。固件升级、分区或系统移植属于 板级调试,不会由 App 构建隐式执行。
项目文件
提交 main.cpp、CMakeLists.txt、package.json 和 pxa.lock。生成物留在项目 .pxa 与 dist;SDK 可以只读共享。升级工具后不会自动重写已有锁,避免开发者机器各自跟随 latest。
开发包通过检查后再安装真机,确认交互、存档、后台切换和资源释放,最后上传已验证的那份包。