2026-09-17 14:45:23 +08:00
..
2026-09-17 14:45:23 +08:00
2026-09-17 14:45:23 +08:00
2026-09-17 14:45:23 +08:00
2026-09-17 14:45:23 +08:00
2026-09-17 14:45:23 +08:00
2026-09-17 14:45:23 +08:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

跃动 Android 应用打包工具

一、最简单的使用方式
1. 双击 YD-App-Packager.exe。
2. 确认项目目录为 C:\Project\Event\YD_Pattern_scoring_system。
3. Flutter 程序通常留空即可:工具优先读取 android/local.properties,其次读取 PATH。
4. 填写接口地址,必须包含 /api,例如 http://8.153.108.90:9996/api。
5. 选择 Debug 或 Release,点击“开始打包”。
6. 完成后点击“打开输出目录”,或连接唯一一台已授权 USB 调试设备后点击“安装刚生成的 APK”。

二、模式和签名
Debug:适用于联调,支持 HTTP;真机访问电脑 localhost 时,需要单独设置 adb reverse。
Release:运行性能优化,仅接受 HTTPS。当前项目仍使用调试签名,工具会提醒确认。
正式上架或对外发布前必须配置正式 keystore;本工具不会创建或更换签名,避免无法覆盖安装。
工具不会自动卸载应用,不会删除评分数据。签名不一致时安装会失败,请联系开发人员处理。

三、接口地址的重要说明
打包填写的地址是“默认地址”。App 隐藏配置页里已经保存的地址优先级更高。
如果覆盖安装后仍连接旧服务器,请在登录页右上角连续点击 5 次,修改/重置接口地址。
http://127.0.0.1:9996/api 是本机 QA 默认示例,不是生产服务器地址。
平板联调本机:adb reverse tcp:9996 tcp:9996。公网服务器地址不需要 reverse。
Release 默认不允许明文 HTTP。如服务器只有 HTTP,请先使用 Debug 或为服务器配置 HTTPS。

四、输出和环境
默认保存到项目 packages\日期时间-模式\,每次打包单独一个目录,不覆盖旧包。
包含 APK、build.log、build-info.json(接口地址、构建时间、SHA256)。
“检查环境”只检测工具链,不会生成 APK。
本工具依赖本机已有 Flutter、Android SDK、兼容 JDK 和 .NET Framework 4.x;不内置 SDK。
打包前默认运行 flutter analyze 和 flutter test,可取消勾选以加快重复打包。
工具会先停止空闲 Gradle 守护进程,减少本机重复打包时的 Java 堆内存不足。
工具仅在构建子进程中指定 4GB Java 堆和 1GB 元空间,避免用户级 256MB 配置覆盖项目设置;不修改全局 Gradle 配置。
命令行可通过 -GradleHeapGB 2 至 8 调整堆上限,默认 4。
接口只填域名时自动补上 /api;这不代表服务器可用性已通过验证。
首次打包需要联网下载依赖;失败时查看日志中的 PACKAGER_ERROR。
保持 EXE、build-app.ps1、README.txt 在同一目录。不需要管理员权限。
执行策略 Bypass 仅用于本次子进程,不修改系统的永久执行策略。

五、命令行方式(可选)
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build-app.ps1 -ProjectPath "C:\Project\Event\YD_Pattern_scoring_system" -Mode debug -ApiUrl "http://8.153.108.90:9996/api" -RunTests

版本名 / 版本号可通过 -BuildName 1.0.0 -BuildNumber 2 指定,留空则使用项目配置。
源码 Packager.cs 随工具提供,便于后续维护。