# 打包工具验收(2026-09-16) - Windows EXE 编译与窗体初始化自检:通过。 - 实际窗口布局检查:配置、按钮、日志区域显示正常。 - 点击图形界面“检查环境”:子进程调用、实时日志和成功状态均正常。 - PowerShell 脚本语法检查:通过。 - 同项目并行构建锁:第二个任务被拒绝,不干扰正在进行的构建。 - Release + HTTP:明确拒绝并返回非零退出码。 - 使用工具脚本实际运行 `flutter analyze`:No issues found。 - 使用工具脚本实际运行 `flutter test`:54 项全部通过。 - 使用工具脚本实际构建 Debug APK:成功。 - 构建产物:`packages/20260916-150746-922-debug/YD-Pattern-Scoring-debug.apk`。 - 产物 SHA256:`D29ECBE0AA93F26F5991B58569DCE439C55FDC6DD921FFAFA9AC3D810F78EFCB`。 首次交付时未运行 Release 构建和工具安装按钮的设备写入;Release 当前沿用项目调试签名,正式签名须另行配置。 ## Release 内存不足修复 用户失败日志:`packages/20260916-153142-986-release/build.log`。 失败点是 `:app:packageRelease`,异常为 `java.lang.OutOfMemoryError`。 用户级 `~/.gradle/gradle.properties` 的 `-Xmx256m` 覆盖项目的 8GB 配置;实际失败进程日志确认堆上限仅 256MB。 修复:工具通过当前子进程的 `GRADLE_OPTS` 指定 JVM 系统属性,堆上限 4GB、元空间上限 1GB;结束时恢复该进程原环境变量,不修改全局文件。 复测进程 `daemon-25296.out.log` 已确认实际参数为 `-Xmx4g`、`-XX:MaxMetaspaceSize=1g`,全局 256MB 文件保持不变。 同时支持接口域名根路径自动补全 `/api`;仅做格式处理,不表示已验证远端接口可用。 Release 实际复测成功,构建耗时 112.7 秒,APK 约 81.9MB。 产物:`packages/20260916-154451-575-release/YD-Pattern-Scoring-release.apk`。 SHA256:`1F091025736823577F5A378C06B62E342DF69801728C8B85575EE7D4262978CF`。 `apksigner verify --verbose` 验证通过(v2 签名);包名正确,包含 arm64-v8a、armeabi-v7a、x86_64。 未执行设备安装,未验证配置域名的业务接口;正式发布仍须更换为正式签名。