# c-financial **Repository Path**: saugage/c-financial ## Basic Information - **Project Name**: c-financial - **Description**: 学生课时与收费管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-08 - **Last Updated**: 2026-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生课时与收费管理 App 学生课时、课表和收费管理工具。当前 MVP 使用 Flutter 开发 Android App,打包产物统一输出到根目录 `outputs/`。 ## 项目结构 ```text c-financial/ apps/mobile/ # Flutter Android App docs/ # PRD、架构、交互、验收和 agent 流程文档 outputs/ # APK 等构建产物输出目录 build-apk.sh # Android APK 打包脚本 ``` ## 打包 Android APK ## 项目开发流程 本项目按下面流程推进: 1. UI 或交互变更先生成 HTML 确认稿给用户确认。 2. Flutter 实现后优先用 Android 模拟器本地预览,不直接打包真机安装。 3. 功能完成后运行格式化、静态检查和测试。 4. 只有用户明确要求打包或验收版本需要交付时,才运行 `./build-apk.sh`。 Android 模拟器预览: ```bash cd apps/mobile flutter devices flutter run ``` 如果只是快速查看桌面效果,可用: ```bash cd apps/mobile flutter run -d macos ``` macOS 预览只用于查看 UI 和流程,不作为 Android 安装效果的最终验收。 ## 打包 Android APK 默认生成测试安装包: ```bash ./build-apk.sh ``` 等价于: ```bash ./build-apk.sh debug ``` 输出文件: ```text outputs/c_financial_1.0.0_1_android_debug_20260702_153000.apk ``` 也可以指定构建模式: ```bash ./build-apk.sh debug ./build-apk.sh profile ./build-apk.sh release ``` 脚本会自动: - 查找 Flutter 工程,默认使用 `apps/mobile` - 执行 `flutter pub get --offline` - 执行 `flutter build apk` - 将生成的 APK 复制到 `outputs/`,文件名自动追加构建时间戳,避免覆盖旧包 - 在 macOS/Homebrew 环境下自动查找 OpenJDK,例如 `/opt/homebrew/opt/openjdk@21` 如 Java 不在默认位置,可以手动指定: ```bash JAVA_HOME=/path/to/jdk ./build-apk.sh ``` 如 Flutter 工程位置变化,可以手动指定: ```bash APP_DIR=/path/to/flutter_app ./build-apk.sh ``` ## 打包前验证 建议打包前运行: ```bash cd apps/mobile dart format lib test flutter --no-version-check --suppress-analytics analyze flutter --no-version-check --suppress-analytics test ``` ## 说明 - `debug` APK 适合本机安装测试。 - `release` APK 当前使用 Flutter 模板默认配置,正式分发前还需要配置正式签名。 - `outputs/` 中的 APK 不提交到 git,只保留在本机作为构建产物。