外观
安装包打包流程
本页记录 Flutter App 安装包构建、环境注入、产物定位和签名边界。当前仓库可直接验证 Android APK 构建;iOS 工程结构存在,但正式归档与签名依赖 Apple 账号、证书和设备配置。
当前版本
| 项目 | 当前值 | 来源 |
|---|---|---|
| App name | fitdoc_app | pubspec.yaml |
| Version | 1.0.29+23 | pubspec.yaml |
| Android applicationId | com.fitdoc.app | android/app/build.gradle.kts |
| Android minSdk/targetSdk | 使用 Flutter Gradle 配置值 | android/app/build.gradle.kts |
| NDK | 27.0.12077973 | android/app/build.gradle.kts |
Android APK
powershell
cd D:\Fitdoc_app\apps\flutter_app
flutter pub get
flutter build apk --release常见产物路径:
text
apps/flutter_app/build/app/outputs/flutter-apk/app-release.apk带环境注入的生产构建:
powershell
flutter build apk --release `
--dart-define=APP_ENV=production `
--dart-define=API_BASE_URL=https://<domain>/api `
--dart-define=VIDEO_BASE_URL=https://<domain>/static/videos内网或测试环境构建:
powershell
flutter build apk --release `
--dart-define=APP_ENV=staging `
--dart-define=API_BASE_URL=http://<host>/api构建前检查
| 检查 | 命令 | 预期 |
|---|---|---|
| Flutter 环境 | flutter doctor | 关键平台无阻塞错误。 |
| 依赖解析 | flutter pub get | 成功生成依赖锁定。 |
| 静态分析 | flutter analyze | 无需要阻断发包的错误。 |
| 测试 | flutter test | 相关测试通过。 |
| 后端地址 | 检查 --dart-define=API_BASE_URL | 包含协议、host 和 /api。 |
| 视频地址 | 检查 --dart-define=VIDEO_BASE_URL | 与 Nginx /static/videos/ 对齐。 |
Android 签名边界
当前 android/app/build.gradle.kts 的 release build 仍使用 debug signing:
kotlin
signingConfig = signingConfigs.getByName("debug")这意味着当前 release APK 可以用于内部测试和阶段性交付,但不应被误认为已经接入正式应用商店签名。生产级发布需要补齐独立 keystore、签名配置、密钥管理和构建机注入方式;keystore 密码和私钥材料不得写入仓库或文档。
安装验证
powershell
adb install -r build\app\outputs\flutter-apk\app-release.apk
adb shell monkey -p com.fitdoc.app 1验证重点:
| 场景 | 预期 |
|---|---|
| 冷启动 | App 能进入首页或鉴权入口。 |
| 登录/验证码 | 请求命中配置的 API_BASE_URL。 |
| AI 对话 | 能访问 /api/chat/message,错误时给出可理解状态。 |
| 运动视频 | 视频地址命中 VIDEO_BASE_URL。 |
| 断网/超时 | 前端不崩溃,展示错误或重试状态。 |
iOS 边界
仓库包含 Flutter iOS 工程结构。正式 iOS 打包需要在 macOS + Xcode 环境下完成 signing、provisioning profile、bundle identifier、archive 和 TestFlight/App Store 分发配置。本仓库当前没有可直接核验的完整 iOS 发布脚本。
常用入口:
bash
cd apps/flutter_app
flutter build ios --release来源锚点
apps/flutter_app/pubspec.yamlapps/flutter_app/lib/config/environment_config.dartapps/flutter_app/android/app/build.gradle.ktsAGENTS.md