使用 FVM 管理 Flutter-OH 多版本:高效切换鸿蒙 Flutter 开发环境 📅 发布时间:2026/7/9 23:36:35 👁️ 浏览次数: 使用 FVM 管理 Flutter-OH 多版本高效切换鸿蒙 Flutter 开发环境欢迎大家加入开源鸿蒙跨平台开发者社区目录FVM 简介安装 FVM鸿蒙 Flutter SDK 版本概览使用 FVM 管理鸿蒙 Flutter SDKIDE 配置指南常见问题与建议详细操作步骤开始: 克隆鸿蒙Flutter SDK将SDK放入FVM缓存目录为SDK创建符合FVM规范的软链接在项目中使用 fvm use 链接版本配置IDE指向项目内SDK路径完成: 在项目内使用鸿蒙FlutterFVM 简介FVM (Flutter Version Management) 是一个功能强大的命令行工具专门用于管理多个 Flutter SDK 版本。对于鸿蒙 Flutter (Flutter-OH) 开发者而言FVM 能够解决以下痛点核心功能多版本管理安装、切换和管理多个 Flutter SDK 版本支持官方版本和自定义版本通道管理支持 Flutter 的 stable、beta、dev 和 master 通道项目级配置为每个 Flutter 项目单独指定 SDK 版本全局设置设置系统默认的 Flutter 版本缓存优化避免重复下载相同版本节省磁盘空间和下载时间主要优势环境隔离不同项目使用不同 Flutter 版本避免版本冲突快速切换一键切换开发环境提升多项目开发效率简化配置减少环境变量依赖降低配置复杂度跨平台支持完全支持 Windows、macOS 和 Linux 系统安装 FVM请根据操作系统选择对应的安装方式macOS / Linux# 使用 Homebrew (macOS)brew tap leoafarias/fvm brewinstallfvm# 或使用 Dart 全局安装dart pub global activate fvmWindows# 使用 Chocolateychoco install fvm# 或使用 Dart 全局安装dart pub global activate fvm安装后配置# 验证安装fvm --version# 配置环境变量根据实际shell配置# 对于 bash/zsh添加到 ~/.bashrc 或 ~/.zshrcexportPATH$PATH:$HOME/fvm/default/binexportPUB_CACHE$HOME/.pub-cache提示完整安装指南请参考 FVM 官方文档鸿蒙 Flutter SDK 版本概览目前鸿蒙化的 Flutter 版本托管在 AtomGit主要包括以下版本完整版本管理表格版本分支/标签状态推荐用途克隆命令示例3.7br_3.7.12-ohos-1.1.3稳定历史项目维护git clone -b br_3.7.12-ohos-1.1.33.223.22.0-ohos稳定生产环境项目git clone -b 3.22.0-ohos3.32oh-3.32.0-release稳定新功能需求git clone -b oh-3.32.0-release3.35oh-3.35.7-dev开发新项目/尝鲜git clone -b oh-3.35.7-dev重要提示鸿蒙 Flutter SDK 正处于快速迭代期推荐使用 dev 分支以获取最新功能和修复。当前默认分支为oh-3.22.0请定期关注仓库更新。使用 FVM 管理鸿蒙 Flutter SDK步骤 1克隆 SDK 到 FVM 缓存目录FVM 通过特殊的文件夹命名规则管理自定义版本以custom_为前缀的文件夹会被识别为自定义 SDK。# 1. 进入 FVM 缓存目录# 默认位置~/fvm/versions 可通过 FVM_CACHE_PATH 环境变量修改cd~/fvm/versions# 克隆 3.35 版本推荐# 注意使用 oh-3.35.7-dev 分支gitclone -b oh-3.35.7-dev https://atomgit.com/openharmony-tpc/flutter_flutter.git custom_3.35-ohos# 克隆 3.22 版本gitclone -b3.22.0-ohos https://atomgit.com/openharmony-tpc/flutter_flutter.git custom_3.22-ohos# 克隆 3.7 版本gitclone -b br_3.7.12-ohos-1.1.3 https://atomgit.com/openharmony-tpc/flutter_flutter.git custom_3.7-ohos步骤 2创建新项目并使用鸿蒙 SDK# 1. 创建项目目录mkdir-p ~/projects/flutter_oh_democd~/projects/flutter_oh_demo# 2. 为该项目指定鸿蒙 Flutter SDK# 首次使用会询问是否继续输入 y 确认fvm use custom_3.35-ohos# 3. 创建支持鸿蒙的 Flutter 项目# --platformsohos启用鸿蒙平台支持# --project-name指定项目名称# 最后的 .在当前目录创建fvm flutter create --platformsohos --project-name flutter_oh_demo.# 4. 验证项目配置cat.fvm/fvm_config.json# 应显示{flutterSdkVersion:custom_3.35-ohos}步骤 3已有项目切换鸿蒙 SDK对于现有项目切换步骤更简单# 进入项目目录cd/path/to/existing/project# 切换 SDK 版本fvm use custom_3.35-ohos# 验证切换结果fvm flutter --version项目结构说明执行上述操作后项目目录会生成以下 FVM 相关文件项目目录/ ├── .fvm/ │ ├── flutter_sdk - /Users/username/fvm/versions/custom_3.35-ohos # 软链接 │ ├── fvm_config.json # 版本配置文件 │ ├── release # 发布配置 │ ├── version # 版本信息 │ └── versions/ │ └── custom_3.35-ohos - /Users/username/fvm/versions/custom_3.35-ohos ├── .fvmrc # FVM 运行时配置 └── (其他项目文件)关键点所有软链接都指向 FVM 缓存目录实现 SDK 的复用避免重复存储。IDE 配置指南Visual Studio Code 配置在项目根目录的.vscode/settings.json中添加以下配置{dart.flutterSdkPath:.fvm/flutter_sdk,// 或使用完整路径// dart.flutterSdkPath: .fvm/versions/custom_3.35-ohos,dart.addSdkToTerminalPath:true,dart.env:{PUB_HOSTED_URL:https://pub.flutter-io.cn},// 可选同步运行和调试配置dart.synchronizeFlutterSdk:true,// 可选自动获取包dart.runPubGetOnPubspecChanges:true}配置后操作重启 VSCode按CmdShiftP(macOS) 或CtrlShiftP(Windows/Linux)输入 “Flutter: Change SDK”选择.fvm/flutter_sdk右下角确认 Flutter SDK 版本已切换Android Studio / IntelliJ IDEA 配置打开项目设置macOS:IntelliJ IDEA → PreferencesWindows/Linux:File → Settings配置 Flutter SDK进入Languages Frameworks → Flutter点击 “Flutter SDK path” 右侧的 “…” 按钮选择项目中的.fvm/flutter_sdk目录点击 “Apply” 保存配置验证配置查看状态栏的 Flutter 版本信息运行flutter doctor确认环境正常命令行环境集成为了在终端中也能正确使用项目指定的 Flutter 版本建议配置 shell# 在 ~/.bashrc、~/.zshrc 或对应配置文件中添加fvm_use(){if[-f./.fvm/fvm_config.json];thenfvm use$(cat./.fvm/fvm_config.json|grep-oflutterSdkVersion:[^]*|cut-d-f4)--silentfi}# 进入目录时自动切换版本可选# cd() {# builtin cd $# fvm_use# }常见问题与建议Q1: FVM 安装后命令未找到A: 确保已将 FVM 添加到 PATH 环境变量# 对于 bash/zshechoexport PATH$PATH:$HOME/.pub-cache/bin~/.zshrcsource~/.zshrcQ2: 克隆 SDK 速度慢或失败A: 尝试以下解决方案使用 HTTPS 而非 SSH如示例所示配置 Git 代理如有需要使用国内镜像如果提供分步克隆先浅克隆再获取完整历史Q3: 项目创建时提示平台不支持A: 确保使用--platformsohos参数SDK 版本支持鸿蒙平台已正确安装鸿蒙开发环境Q4: 如何更新已安装的鸿蒙 SDK# 进入 SDK 缓存目录cd~/fvm/versions/custom_3.35-ohos# 拉取最新代码gitpull origin dev# 清理并重建flutter clean flutter precacheQ5: 多个项目需要不同版本怎么办A: FVM 的核心优势就在于此。只需在每个项目中执行# 在项目 A 中fvm use custom_3.22-ohos# 在项目 B 中fvm use custom_3.35-ohosFVM 会自动管理版本切换互不干扰。最佳实践建议版本命名规范使用一致的命名规则如custom_版本-ohos-日期定期更新尤其是 dev 分支建议每周更新一次备份配置将.vscode/settings.json和.fvmrc纳入版本控制文档维护在团队中统一 FVM 使用流程确保环境一致性性能监控定期清理不再使用的 SDK 版本fvm remove 版本总结FVM 为鸿蒙 Flutter 开发提供了强大的版本管理能力特别适合同时维护多个不同 Flutter 版本的项目团队协作中统一开发环境尝鲜最新鸿蒙 Flutter 特性降级测试和版本兼容性验证通过本文介绍的配置流程您可以轻松搭建和管理多版本鸿蒙 Flutter 开发环境享受高效、灵活的跨平台开发体验。相关资源FVM 官方文档鸿蒙 Flutter SDK 仓库Flutter 中文网OpenHarmony 官方
【小程序毕设源码分享】基于springboot+Android和java的酒店管理系统的设计与实现(程序+文档+代码讲解+一条龙定制) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/8 23:13:24
今天想和大家聊一聊为什么有人劝别选计算机专业? 今天想和大家聊一聊为什么有人劝别选计算机专业? 和大家说一句掏心窝的话:直到 2021 年,计算机专业依旧是寒门改变命运的一个最佳选择之一,要不是怕被喷,我都想把之一去掉,因为想了半天,我实在找不到其它… 2026/7/8 3:54:12
基于保证金机制与波动率模型的阶段性回测::CME“六度加保证金”触发白银高波动的结构性回撤解析 摘要:本文基于交易所保证金调整数据、历史行情样本及波动率结构特征,结合规则变化对杠杆资金约束的影响机制,从量化分析与历史对照角度,对近期白银价格剧烈回撤现象进行阶段性梳理,并对相关市场结构特征进行客观分析。… 2026/7/5 11:56:21
PInVerify:具身AI主动验证离线基准 1. 项目概述:这不是又一个“刷榜”基准,而是给具身AI装上“质疑本能”的离线考场你有没有想过,当一个机器人在厨房里第一次看到“电水壶”时,它凭什么相信自己识别对了?不是靠训练集里见过一万张同款图片,而… 2026/7/9 23:34:52
基于TM4C1299NCZAD与PAM8904的智能音频通知系统设计 1. 项目概述:基于TM4C1299NCZAD与PAM8904的智能通知系统设计在工业控制、智能家居和医疗设备等领域,可靠的事件通知机制是保障系统安全运行的关键。我们经常遇到这样的场景:一台自动化设备需要在不依赖显示屏的情况下,通过声音提示… 2026/7/9 23:30:50
Openclaw智能体框架:本地部署Kimi实现办公自动化 1. 项目概述:这不是“买个会员”,而是亲手把 Kimi 的智能体能力装进自己电脑里 最近在技术圈和产品团队里,几乎每天都能看到同事发来截图:“Kimi Openclaw 199元订阅试用分享心得”——这标题乍看像电商测评,实则藏着… 2026/7/9 23:30:50
知医邦内测微信AI助手[小微]关于中医AI智能体的对话原文 [知医邦] 说说知医邦智能体吧 [小微] 你说的"知医邦智能体"是想在微信里打开知医邦相关的小程序吗?还是想了解一下这个智能体是做什么的? 如果是想打开他们的小程序,我帮你搜一下看看能不能直接拉起来。如果是想了解这个产品本身… 2026/7/9 23:30:49
三角形内心坐标计算 3 种方法:向量法、角平分线法、重心坐标法 三角形内心坐标计算的三种实用算法:从数学推导到代码实现在计算机图形学、游戏开发和几何算法竞赛中,三角形内心坐标的计算是一个基础但至关重要的操作。内心不仅是三角形内切圆的圆心,也是许多几何算法中的关键参考点。本文将深入探讨三种计… 2026/7/9 23:28:47
OpenClaw具身智能系统:多Agent实时协作与阿里云本地混合部署 1. OpenClaw不是“另一个Agent框架”,而是多智能体协作的物理世界接口层 很多人第一次看到OpenClaw,下意识就去翻它的GitHub README,然后点开examples目录,照着跑一个 python run_demo.py --agent_nameweb_surfer ——结果卡在 … 2026/7/9 23:28:47
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08