Flutter是一个跨平台前端框架, 支持安卓、iOS、鸿蒙及桌面端开发,在实际中,如果遇到需要开发多端,且要求使用最新版本的Flutter时,如果还用Flutter鸿蒙定制版,可能就会有问题,因为Flutter鸿蒙定制版一般会比Flutter最新发布的版本滞后。

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

这次要兼容多端进行、多版本进行Flutter框架开发,我这里使用FVM工具。

FVM(Flutter Version Manager),它是一款专门为 Flutter 设计的版本管理工具,核心价值是解决「多个 Flutter 项目需要不同 Flutter 版本」的冲突问题,让你可以在同一台设备上无缝切换多个 Flutter 版本,无需反复下载和卸载。下面从核心价值、核心特性、工作原理、适用场景四个维度详细介绍,兼顾新手理解和实际使用参考

下面这是我当前的版本
在这里插入图片描述

安装FVM

FVM 支持 Windows、macOS、Linux,我这边使用MacOS电脑,目前已经安装好了。

  • 使用命令安装
    安装命令如下:
dart pub global activate fvm
  • 配置环境变量
    可以在电脑中编辑 .bash_profile 或 .zshrc 文件,添加以下内容:
# ===================================================
# FVM 环境变量配置
# ===================================================
export PATH="$HOME/.pub-cache/bin:$PATH"        # 确保 fvm 命令本身可被找到
export PATH="$HOME/fvm/default/bin:$PATH"       # FVM 管理的 Flutter 版本路径

然后执行 source ~/.zshrc(或 source ~/.bash_profile)生效。

  • 验证安装
    等所有依赖安装完成后,可以输入命令fvmflutter --version 来验证是否成功。
    我目前的fvm版本是 3.2.1
    在这里插入图片描述
用 FVM 安装目标 Flutter 版本

这一步会下载并缓存 3.27.5-ohos-1.0.0 和 Stable 版本,后续项目可直接引用缓存,无需重复下载。

  • 安装 Flutter Stable 官方稳定版
    终端执行以下命令,FVM 会自动下载最新的官方 Stable 版本:
fvm install stable

如果你不用stabel,也可以指定安装某个版本,如fvm install 3.16.9
安装包比较大,需要稳定网络,且耐心等待

  • 安装鸿蒙专属版本
    这个版本是鸿蒙定制版,未纳入 Flutter 官方版本仓库,需要通过指定 Git 仓库 / 提交哈希或本地包安装,这里提供最可靠的 Git 安装方式。
    确认鸿蒙 Flutter 版本的官方 Git 仓库(通常华为 / 鸿蒙社区提供,假设仓库地址为官方维护地址,若你有本地包可直接跳过此步,使用 fvm install <本地路径>)。
    终端执行以下命令,指定版本号安装(若仓库支持直接指定版本标签):
    我这边目前安装的是3.27.5-ohos-1.0.0
# 格式:fvm install <版本名称> --git-url <Git 仓库地址> --git-ref <版本标签/提交哈希>
fvm install 3.27.5-ohos-1.0.0 --git-url https://gitee.com/ohos/flutter.git --git-ref 3.27.5-ohos-1.0.0

说明:–git-url 填写鸿蒙 Flutter 版本的仓库地址(Gitee/GitHub 均可),–git-ref 填写对应的版本标签(即 3.27.5-ohos-1.0.0)。

等待缓存完成,终端提示 Installed successfully 即表示安装成功。

安装完成后,下面目录中可以看到所下载的版本
~/fvm/versions `
在这里插入图片描述

  • 验证已安装的 Flutter 版本
    通过 fvm list 会显示已安装的所有 Flutter 版本,其中包含 stable 和 3.27.5-ohos-1.0.0
    在这里插入图片描述

我这里还有之前的3.22.1-ohos-1.0.6 ,可以不用安装,不用管。

切换版本

FVM 支持项目级版本绑定,即每个项目对应一个专属 Flutter 版本,互不干扰,也可以配置全局应用,如上图,后面 GlobalLocal

  • 切换Local版本号
    fvm use stable

  • 切换Global版本
    fvm global stable

切换成功后,可以通过fvm flutter --version 来验证。

开发鸿蒙app时,在项目路径或者全局路径下,所有 Flutter 命令均需前缀 fvm(如 fvm flutter pub get、fvm flutter build harmony),确保使用的是绑定的鸿蒙版本。

GlobalLocal 区别:

项目内开发:直接使用 fvm flutter 命令
无需手动切换版本,进入对应项目目录后,所有 Flutter 操作均通过 fvm flutter 执行,FVM 会自动调用该项目绑定的版本,示例:

鸿蒙项目:fvm flutter pub getfvm flutter build harmony --release
跨平台项目:fvm flutter runfvm flutter build iOS

全局默认版本:设置常用版本为全局

如大部分时间开发某一平台(如跨平台),可将 Stable 版本设为全局,直接使用 flutter 命令(无需 fvm 前缀):
fvm global stable

  • 切换全局版本为鸿蒙版本: fvm global 3.22.1-ohos-1.0.6
  • 取消全局版本:fvm global none

注意:全局版本仅对未绑定项目级版本的目录生效,已绑定项目级版本的目录仍优先使用项目绑定版本。
在这里插入图片描述

通过这种方式,你可以实现鸿蒙 App 和 Android/iOS App 的隔离开发,避免版本冲突,大幅提升开发效率。

结束语

感谢阅读本帖,如对贴中内容有意见和建议的,欢迎与我联系交流,也欢迎加入开源鸿蒙跨平台社区:
https://openharmonycrossplatform.csdn.net

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐