二进制示例工程验证记录
验证日期:2026-10-03。本次修复事件参数下拉框内部值,重新生成并复核 6 个最终 AIA;以下结果对应当前下载文件。
最终检查先执行生成链的 10 项回归,全部通过后再验证每个 AIA;报告记录每项退出码、日志和资源指纹,每屏须通过正式编辑器首次加载和保存后重开检查,均为 0 个错误。缺少回归结果的旧记录不能作为新的交付证明。
已完成:
- 使用编辑器后台的
FileImporterImpl.importProject逐个导入 6 个最终 AIA,读取并检查存储后的屏幕、积木与素材;全部导入通过。 - 从每个原始 AIA 读取实际
.scm、.bky,载入编辑器同源 Blockly;核对载入块数与归档块数一致,没有静默跳过的块;逐个检查变量下拉框的内部值与作用域选项一致,不能仅按显示文字判断。 - 使用实际表单 JSON 生成完整 YAIL,包含组件配置与事件;没有使用预览合成的最小表单代替实际工程。
- 将上述完整 YAIL 加入编译包,调用仓库 Android BuildServer,完成类生成、DEX、APK 打包、对齐与签名。6 个构建退出码均为 0,均产出 APK。网络示例见下表,串口示例见后面的单独记录。
尚未验证:浏览器中的人工导入操作、AI 伴侣联机、手机安装运行、真实蓝牙硬件和 MQTT 双端业务联调。APK 编译通过不能证明这些环节正常。鸿蒙 HAP 编译与运行也未纳入本次检查。
| 工程 | 后台导入 | 实际载入块数 | APK 编译 | APK 字节数 |
|---|---|---|---|---|
| BinaryTcpLab | 通过 | 419 | 通过 | 4605955 |
| BinaryWebSocketLab | 通过 | 81 | 通过 | 4597763 |
| BinaryHttpLab | 通过 | 72 | 通过 | 4626435 |
| BinaryMqttController | 通过 | 82 | 通过 | 4597763 |
| BinaryMqttDevice | 通过 | 70 | 通过 | 4597763 |
完整的逐工程验证报告见 BinaryExamplesVerification.json,包含文件 SHA-256、变量引用数量、后台导入与编译结果及未验证项。
下载文件指纹
SHA-256 用来确认被复核的文件与当前下载文件是否一致:
1ee465b4f2941d8a74e49d1b1d40a54bdb9eaef97b1ca7f686fe501fdfd6ae89 BinaryHttpLab.aia
93d8813025e1ba7d7bc6852360be7d2c90a75b1623a7f2e00fd35164b668a96a BinaryTcpLab.aia
7751664846b9835bb8650f0a613d29d783a3570346a7a6c7b98aafd94ce28239 BinaryWebSocketLab.aia
58a0e2d1901ce9cc83f7cab4f7dbd919b970a2a1120fc1b8c3aa8645a71f89a4 BinaryMqttController.aia
0b04d162cc458c7797a1d8bc6db6469c503ffa6f1f8d2d6c660e19d562c5bb14 BinaryMqttDevice.aia
复核方法
仓库内已保留后台导入测试 BinaryTopicProjectImportTest,以及直接读取 AIA 的检查工具 check-aia-projects.js。工具需要 Python 3、Playwright、Chromium、已构建的组件描述符和预览资源;--apk 还需要 Java 与已构建的 BuildServer。
ant -f appengine/build.xml \
-Dtest_name=com.google.appinventor.server.BinaryTopicProjectImportTest AiServerLibTests
# 可用 PLAYWRIGHT_DIR 和 CHROME_BIN 指定已有 Playwright 与 Chromium。
node appengine/tools/block-preview/check-aia-projects.js --import --apk \
--report /tmp/doc-parameters-aia-verification.json \
docs/markdown/reference/creative/files/Binary*.aia \
docs/markdown/reference/creative/files/SerialBinaryLab.aia
检查工具会输出证据目录,保存各项目的完整 YAIL、载入块数、构建日志、构建结果和 APK。
TCP、HTTP 与 WebSocket 的 Python 测试服务已做电脑端实际收发检查;这项结果用于验证对端程序,不替代手机应用与对端的联调。
USB 串口诊断工程验证
2026-10-03 重新生成并复核 SerialBinaryLab.aia。此记录只对应 USB 串口诊断示例,不替代上表五个通信示例的记录。
- 最终归档结构、当前组件描述符、实际 SCM/BKY 检查通过。
- 实际 Blockly 载入全部 208 个积木;无丢失,51 个变量引用的下拉框值全部有效,从完整表单生成 YAIL。
- 真实
FileImporterImpl隔离导入通过,原始屏幕与积木字节保留。 - 当前 Android BuildServer 实际 APK 编译通过,APK 4651011 字节。
- 归档 SHA-256:
bc676ee74a6895e5e11231788039a5b342554c47cbe89dbb3ca42f6b65d88d74。
完整使用步骤、连接前提、固定帧回显、缓存/校验和超时流程见串口使用指导。重新生成:python3 appengine/tools/build-binary-topic-examples.py --serial-only;复核:
node appengine/tools/block-preview/check-aia-projects.js --import --apk \
--report /tmp/serial-aia-verification.json \
docs/markdown/reference/creative/files/SerialBinaryLab.aia
串口组件的驱动替身测试已覆盖 00/FF/80 保留、实际读取长度、空读/空写、无效输入、未打开、短写/读取失败和重置时释放连接。它验证的是组件逻辑,未验证 USB 真机、具体芯片、OTG、接线或鸿蒙设备收发/HAP;不要把该工程标为真机回显已通过。
扫码添加客服咨询