Flutter Flavorizr 鸿蒙平台适配多目标产物
项目背景
Flutter Flavorizr 是什么
Flutter Flavorizr 是 Flutter 生态中广泛使用的多环境构建工具,通过一份 YAML 配置自动生成 Android、iOS、macOS 三端的 flavor 工程结构。开发者只需声明各 flavor 的包名、图标、签名等差异化配置,工具即可自动完成 Gradle productFlavors 注入、Xcode scheme/build configuration 创建、资源文件分发等繁琐工作。
该项目在 pub.dev 上拥有较高使用量,是 Flutter 多环境管理的事实标准方案之一。
为什么要做鸿蒙适配
随着 HarmonyOS 生态的持续推进,越来越多的 Flutter 应用需要同时支持 Android、iOS 和鸿蒙三端。Flutter 社区已提供鸿蒙版 SDK(如 Flutter 3.35.8-ohos),但在构建工具层面,flavorizr 尚未支持鸿蒙平台的多产品(multi-product)构建。
鸿蒙平台的构建体系与 Android/iOS 有本质差异:
| 维度 | Android | iOS/macOS | HarmonyOS |
|---|---|---|---|
| 构建系统 | Gradle | Xcode | hvigor |
| 多环境机制 | productFlavors | scheme + build configuration | product + target |
| 配置格式 | Groovy/Kotlin DSL | .xcodeproj + .xcconfig | JSON5 (build-profile.json5) |
| 签名管理 | signingConfigs | Provisioning Profile | signingConfigs in JSON5 |
这意味着不能简单复用已有的 Android 或 iOS 处理器逻辑,需要为鸿蒙平台设计全新的配置模型和处理器链路。
