Flutter应用适配鸿蒙平台指导文档
Flutter应用适配鸿蒙平台指导文档本文档介绍如何将已有的 Flutter 应用已支持 iOS/Android扩展支持鸿蒙平台在现有项目中添加鸿蒙平台目录保持多端代码复用。前置条件已安装 DevEco Studio已完成 Flutter OH 环境搭建开始适配1. 备份现有项目cp-ryour_flutter_project your_flutter_project_backup2. 添加鸿蒙平台支持进入你的 Flutter 项目目录执行以下命令cdyour_flutter_project# 为现有项目添加 ohos 平台支持flutter create--platformsohos.执行成功后项目新增 ohos 目录结构如下your_flutter_project/├── android/# Android 平台代码 ├── ios/# iOS 平台代码 ├── ohos/# OpenHarmony 平台代码新增 │ ├── build-profile.json5 │ ├── hvigorfile.ts │ ├── local.properties │ ├── entry/# 主入口模块 │ │ ├── build-profile.json5 │ │ ├── hvigorfile.ts │ │ ├── oh-package.json5 │ │ └── src/│ │ ├── main/│ │ │ ├── ets/│ │ │ │ ├── entryability/│ │ │ │ │ └── EntryAbility.ets # 主入口 Ability │ │ │ │ └── pages/│ │ │ │ └── Index.ets # 主页面 │ │ │ └── resources/# 资源文件 │ │ └── ohosTest/# 测试代码 │ └── ohos/# Flutter 引擎模块 ├── lib/# Dart 业务代码多端复用 ├── test/├── pubspec.yaml └──...3. 配置项目签名使用 DevEco Studio 打开ohos目录选择File → Project Structure → Project → Signing Configs勾选Automatically generate signature自动生成签名点击OK保存4. 适配 pubspec.yaml根据目标 Flutter OH 版本调整 SDK 约束# Flutter 3.27.4-ohos 版本environment:sdk:3.0.0 4.0.0flutter:3.27.0# Flutter 3.22.0-ohos 版本environment:sdk:3.0.0 4.0.0flutter:3.22.0获取依赖flutter clean flutter pub get三方库适配适配前请先查阅 OpenHarmony平台已适配三方库检查项目依赖的三方库是否已适配OpenHarmony 平台。若使用到的三方库未适配可提交 issue 反馈。1. 替换为 OpenHarmony 兼容版本dependencies:# 原配置Pub 官方版本不支持 OpenHarmony# path_provider: ^2.1.0# 新配置OpenHarmony 适配版本path_provider:git:url:https://gitcode.com/CPF-Flutter/flutter_packages.gitpath:packages/path_provider/path_providerref:br_path_provider-v2.1.5_ohos# 根据实际版本调整shared_preferences:git:url:https://gitcode.com/CPF-Flutter/flutter_packages.gitpath:packages/shared_preferences/shared_preferencesref:br_shared_preferences-v2.5.4_ohosurl_launcher:git:url:https://gitcode.com/CPF-Flutter/flutter_packages.gitpath:packages/url_launcher/url_launcherref:br_url_launcher-v6.3.2_ohos2. 自定义库适配如果项目中使用自定义的库则需要为自定义库添加 OpenHarmony 平台实现。适配指导请参考开发Flutter Plugin3. 平台判断代码适配如果代码中有平台判断需要添加 OpenHarmony 支持importdart:io;// 原代码if(Platform.isAndroid){// Android 特定逻辑}elseif(Platform.isIOS){// iOS 特定逻辑}// 适配后 - 添加 OpenHarmony 平台判断if(Platform.isAndroid){// Android 特定逻辑}elseif(Platform.isIOS){// iOS 特定逻辑}elseif(Platform.isOhos){// OpenHarmony 特定逻辑}4. 纯 Dart 三方库通常纯 Dart 三方库无需修改即可在 OpenHarmony 上运行。但如果代码中有平台判断还是需要参照上面第3步添加 添加 OpenHarmony 平台判断。构建与运行1. 连接设备# 查看连接的设备flutter devices# 预期输出示例# 9CN0123608000xxx (mobile) • 9CN0123608000xxx • ohos-arm64 • Ohos OpenHarmony-6.1.0.262. 运行调试# 运行到鸿蒙设备flutter run-ddevice_id# 或使用简写如果只有一台鸿蒙设备flutter run3. 构建 HAP 包# 调试版本flutter build hap--debug# 正式版本flutter build hap--release4. 安装 HAP 包# 使用 hdc 工具安装hdcinstallbuild\ohos\hap\entry-default-signed.hap# 或指定设备hdc-tdevice_idinstallbuild\ohos\hap\entry-default-signed.hap问题交流问题反馈欢迎在 Flutter框架仓库 以及各个 Flutter 三方库提交issue。

相关新闻

如何撰写高质量报告基础信息:从项目背景到范围定义的完整指南

如何撰写高质量报告基础信息:从项目背景到范围定义的完整指南

1. 报告基础信息:一份高质量报告的基石干了这么多年项目管理和技术文档工作,我越来越觉得,一份报告能不能立得住、能不能让人信服,往往在“第一章”就决定了。很多人拿到一个报告任务,上来就急着堆砌数据、分析结论&am…

2026/8/25 10:53:56 阅读更多 →
GEN-1:从“能演示”到“可部署”的具身基础模型技术深度解析

GEN-1:从“能演示”到“可部署”的具身基础模型技术深度解析

1. 简介 2026 年 4 月 2 日,Generalist AI 发布《GEN-1: Scaling Embodied Foundation Models to Mastery》,给出的核心结论非常直接:在若干“简单但高价值”的物理任务上,GEN-1 把平均成功率从上一代可对比模型的 64% 拉升到 99…

2026/8/25 10:53:56 阅读更多 →
VSCode配置C++开发环境:解决include错误与IntelliSense配置指南

VSCode配置C++开发环境:解决include错误与IntelliSense配置指南

1. 从“无法打开stdio.h”说起:一个经典的新手拦路虎如果你刚装好VSCode,兴致勃勃地准备写第一个C程序,结果代码编辑区就飘满了红色的波浪线,提示“检测到 #include 错误,请更新 includePath”和“无法打开源文件 ‘st…

2026/8/25 10:52:55 阅读更多 →

最新新闻

游戏化后端开发:用“家具装修”可视化ASP服务器逻辑

游戏化后端开发:用“家具装修”可视化ASP服务器逻辑

如果你是一位独立游戏开发者,或者对“用爱发电”的二次元同人项目感兴趣,最近可能被一个名字刷屏了:赛博多娜。这个名字听起来有点赛博朋克,又有点二次元,但它背后指向的,是一个正在快速迭代、并且玩法越来…

2026/8/25 12:28:03 阅读更多 →
解决 MFC 应用程序 Side-by-Side (SxS) 错误

解决 MFC 应用程序 Side-by-Side (SxS) 错误

解决 MFC 应用程序 Side-by-Side (SxS) 错误 flyfish MFC 应用程序的 SxS 错误(最常见提示是 “The application has failed to start because its side-by-side configuration is incorrect” 或中文“应用程序的并行配置不正确”)通常是因为程序依赖的…

2026/8/25 12:28:03 阅读更多 →
ASP.NET Core性能优化实战:从配置到缓存的全链路提升指南

ASP.NET Core性能优化实战:从配置到缓存的全链路提升指南

这次我们来看一个 ASP.NET Core 性能优化项目。对于任何构建在 .NET 平台上的 Web 应用而言,性能瓶颈往往不是单一问题,而是由配置、代码、数据库、缓存等多个环节共同作用的结果。这个项目(或主题)的核心,就是提供一套…

2026/8/25 12:28:03 阅读更多 →
DLT/T 645-97/07双规约字节级不兼容 + BCD加33H编码陷阱:工业电表采集的5大痛点

DLT/T 645-97/07双规约字节级不兼容 + BCD加33H编码陷阱:工业电表采集的5大痛点

背景:为什么每个能耗项目都卡在"电表抄读"上做能源管理开发的同学应该都有同感:项目 70% 的时间耗在电表对接,真正写能耗分析逻辑的时间不到 30%。最近做了一个石化企业的能耗管理项目,现场电表清单:- DLT64…

2026/8/25 12:28:03 阅读更多 →
Blazor Server集成AI代码生成:从架构设计到生产部署全流程实践

Blazor Server集成AI代码生成:从架构设计到生产部署全流程实践

在实际企业级应用开发中,我们经常需要将AI能力集成到现有系统中,以提升开发效率或创造新的交互体验。Blazor Server作为一种基于.NET的现代Web框架,以其组件化、实时交互和C#全栈开发的特性,成为构建此类应用的理想选择。本文将以…

2026/8/25 12:28:03 阅读更多 →
ASP.NET Core Razor Pages 开发实战:从入门到部署

ASP.NET Core Razor Pages 开发实战:从入门到部署

这次我们来看一个 ASP.NET Core Razor Pages 项目。这不是一个需要高显存的 AI 模型,而是一个用于构建现代 Web 应用的成熟技术框架。它的核心价值在于提供了一种比传统 MVC 更简单、更聚焦的页面模型来开发 Web UI,尤其适合内容驱动的网站。 对于 .NET…

2026/8/25 12:27:03 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →