跳转到正文
YGJoon 技术博客

Flutter 鸿蒙化基础适配:OpenHarmony 社区版工程流程

发布于:
·1.4k 字 · 约 4 分钟·作者:
基于 OpenHarmony SIG Flutter 适配仓整理工程创建、HAP 构建、应用模型边界与插件检查流程。
Flutter 鸿蒙化基础适配:OpenHarmony 社区版工程流程文章封面
目录

阅读范围与验证状态

本文聚焦 OpenHarmony SIG 维护的 Flutter 社区适配 SDK 和工程流程。它不是 Flutter 上游自带的平台支持,也不代表所有 HarmonyOS 商用设备、OpenHarmony 发行版或 API 版本都兼容。

验证状态:文档核对,未在本次修订中实机复测。 原稿曾记录一个组件验证工程,但没有留下 Flutter 适配仓分支/提交、系统 API、DevEco Studio 版本和目标设备,无法据此复现本文的具体工具链。下文命令以适配仓和 Samples 文档为准;实际工程应先锁定兼容的 SDK 版本再执行。

1. 先分清应用模型

HarmonyOS 的 FA 与 Stage 是不同的应用模型,配置文件不能混用:

项目配置文件入口特点
FA 模型config.json使用 FA 模型的 Ability 配置
Stage 模型app.json5、module.json5使用 Stage 组件模型;常见 UI 入口为 UIAbility,ArkTS 页面通常位于 entry/src/main/ets/

华为开发者文档分别说明了 Stage 模型配置文件 和 FA 模型配置文件。因此,不能把 config.json、Stage UIAbility 和一套未注明来源的 Flutter 引擎封装拼成通用工程示例。本文旧版中的 FlutterEngineManager、FlutterBoostEngine 和 flutter-harmony create 示例已移除;它们不是 OpenHarmony SIG 当前通用入门流程。

2. 准备匹配的 Flutter 与 OpenHarmony 工具链

OpenHarmony SIG 的 flutter_flutter 仓库是对 Flutter 工具链的社区扩展。具体支持的 SDK、分支和 Engine 产物会变化,开始前应:

  1. 按所选 flutter_flutter 分支的 README 安装对应 Flutter SDK。
  2. 按该分支要求安装 OpenHarmony SDK、DevEco Studio、JDK 和命令行工具。
  3. 使用 flutter doctor -v 检查 Flutter 与 OpenHarmony 工具链是否都已识别。
  4. 记录仓库 URL、分支或 commit、系统 API 与 DevEco Studio 版本,方便复现构建结果。

不要把普通 Flutter stable 版本号直接当作 OpenHarmony 兼容版本。版本配对和本地 Engine 要求以当前适配仓的 README 为准。

3. 创建 OpenHarmony Flutter 工程

在配置好社区适配 SDK 的终端中创建新工程:

flutter create --platforms ohos --org com.example flutter_harmony_app
cd flutter_harmony_app
flutter pub get

若要给已有 Flutter 工程增加 OpenHarmony 平台目录,应先确认所选分支 README 中对应的创建/迁移方式,再在工程根目录执行;不要把不同版本的脚手架命令混用。

适配工具会生成 ohos/ 工程和相应的嵌入层文件。具体目录、Ability 入口以及签名配置以生成结果和匹配的 flutter_samples 文档为准。ArkTS 页面入口、Stage/FA 配置和 Flutter Embedder 属于不同层次,新增平台时应保留模板生成的依赖关系,不要照抄其他分支的文件树或手写虚构的 Engine 管理 API。

4. 检查插件与系统能力

Flutter 插件能在 Android 或 iOS 工作,不代表它自动具备 OpenHarmony 实现。逐项检查 pubspec.yaml 中的依赖:

插件清单可按“已适配 / 需替换 / 尚未验证”标注,避免把 Android 插件覆盖率误当成鸿蒙覆盖率。

5. 构建和运行 HAP

OpenHarmony SIG Flutter 工具链使用 HAP 构建命令:

flutter doctor -v
flutter devices
flutter build hap --debug
flutter build hap --release

连接设备后可按适配仓文档使用 flutter run -d <deviceId>,或通过 hdc 安装构建产物。Samples 文档给出的常见产物位置为 ohos/entry/build/default/outputs/default/entry-default-signed.hap;不同分支、签名和构建变体可能改变输出路径,应以本次构建日志为准。

6. 适配验收清单

参考资料

页面 URL 保留原有系列地址;文章标题和适配范围已改为与当前文中引用的社区工程流程一致。

下一篇讨论性能、插件和发布前检查;涉及具体系统 API 时,应以目标 API 版本及对应社区适配仓的实现为准。


分享这篇文章:


相关文章

上一篇
Flutter 鸿蒙化概述篇:从愿景到落地
下一篇
Flutter 鸿蒙化进阶:OpenHarmony 性能、插件与发布检查