背景介绍

在开发 OHOS-Flutter 应用时,我原本计划构建一个便捷的打包工具来简化流程。但在调研过程中,我发现了一个非常实用的自动化打包工具 Fastforge,它已经支持多种平台的 Flutter 应用打包与发布。

于是我为 Fastforge 提交了 PR,适配了 OHOS-Flutter 打包 HAP/APP(HarmonyOS NEXT / OpenHarmony)的功能。目前该 PR 已被合并,fastforge: ^0.6.0 版本已支持,可直接用于 OHOS-Flutter 的打包任务。


关于 Fastforge

Fastforge 是一款全能的 Flutter 应用打包和发布工具,为您提供一站式解决方案,满足各种分发需求。

主要特性

  • 🚀 一键打包:支持 Android APK/AAB、iOS IPA、OpenHarmony HAP/APP 等多种格式
  • 📦 多平台发布:支持 App Store、Google Play、Firebase、蒲公英、fir.im 等
  • 🔄 CI/CD 集成:完美支持 GitHub Actions、GitLab CI 等持续集成平台
  • 🛠 灵活配置:支持多环境、多 flavor、自定义构建参数

官方资源


安装 Fastforge

.pub-cache/bin 添加到 PATH

为了在命令行中访问 fastforge,需要将 pub 缓存目录下的 bin 目录添加到系统 PATH。

平台路径
macOS 或 Linux$HOME/.pub-cache/bin
Windows%LOCALAPPDATA%\Pub\Cache\bin%

激活 Fastforge

dart pub global activate fastforge

如果你使用了 FVM 来管理 Flutter SDK,可在项目目录下执行:

fvm dart pub global activate fastforge

使用 Fastforge 打包 OHOS-Flutter 应用

1. 配置签名信息

仅针对 HarmonyOS NEXT / OpenHarmony,其他平台请参考官方文档。

在你的项目中的 ohos/build-profile.json5 文件中配置好应用的签名信息。

2. 配置多 flavor(可选)

如果需要构建多个 flavor 的产物,可以在 ohos/build-profile.json5 中配置多个 products,后续通过 fastforge 命令指定构建哪个 flavor。

3. 创建 Fastforge 配置文件

在项目根目录下创建 distribute_options.yaml 配置文件,示例如下:

output: dist/
# 构建产物输出目录,建议加入 .gitignore

variables:
  FLUTTER_ROOT: ./.fvm/flutter_sdk
# 如果使用 FVM 管理 Flutter SDK,可通过此变量指定 SDK 路径

4. 开始打包

切换到项目根目录并执行以下命令:

# 如果没有全局 Dart 环境,临时使用项目中的 Flutter SDK 中的 Dart
export PATH=$PATH:$PWD/.fvm/flutter_sdk/bin

fastforge package --platform ohos --targets app --build-flavor release --skip-clean

构建完成后,你可以在 dist 目录下找到构建产物:

dist
└── 1.0.30+1000066
    └── woodbox-release-1.0.30+1000066-ohos.app

参数说明

参数名含义说明
--platform指定目标平台,OHOS 为 ohos
--targets打包格式,OHOS 支持 hapapp
--build-flavor构建 flavor,对应 ohos/build-profile.json5 中配置的 products 名称,默认为 default
--skip-clean构建前跳过 flutter clean

更多功能和文档,请关注官方文档

最后修改:2025 年 07 月 08 日
如果觉得我的文章对你有用,请随意赞赏