惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Forbes - Security
Forbes - Security
WordPress大学
WordPress大学
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
A
About on SuperTechFans
T
Tailwind CSS Blog
I
InfoQ
S
Securelist
云风的 BLOG
云风的 BLOG
罗磊的独立博客
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
B
Blog RSS Feed
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
腾讯CDC
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
S
Secure Thoughts
博客园 - 司徒正美
J
Java Code Geeks
Y
Y Combinator Blog
Google Online Security Blog
Google Online Security Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
Help Net Security
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Project Zero
Project Zero
T
Tenable Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tor Project blog
MyScale Blog
MyScale Blog
Scott Helme
Scott Helme
小众软件
小众软件
K
Kaspersky official blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
Flutter应用如何快速适配HarmonyOS
华为开发者联盟 · 2025-12-18 · via 人人都是产品经理

本文原创发布在华为开发者联盟社区,欢迎前往与更多开发者进行互动。
更多相关问题可点击原帖进行交流:Flutter应用如何快速适配HarmonyOS 。

概述

当前已有适配了HarmonyOS的ohos Flutter SDK,当前已有众多Flutter应用基于此版本上架鸿蒙应用市场。

目前可使用的有3.7.123.223.27三个版本,3.32也已经在Beta中。

本文旨在介绍如何将Flutter应用快速适配HarmonyOS,包含以下几个方面:

整体方案

  1. 先选择确认要使用的HarmonyOS Flutter SDK的版本,然后下载配置好开发环境,在进行HarmonyOS Flutter应用开发时记得切换SDK,可以使用flutter doctor -v进行检查
  2. 确认架构选型,是使用Flutter App还是采用Flutter module混合开发,一般延用Android/IOS上的选型
  • flutter app方式:可以在原先项目根目录执行命令flutter create –platforms ohos –t app ./,会自动创建HarmonyOS底座工程目录ohos,与ios和android目录并列
  • flutter module方式:参考在HarmonyOS上集成Flutter module,最终会将module打包成har包,供HarmonyOS工程引用,类比于Flutter module在Android上会被构建成AAR包,供APK集成。
    1. 三方库替换成鸿蒙化的版本,需采用Git依赖的方式
    2. 未适配的三方库一般替换成同类功能的库
    3. 自研的插件需要自行适配,可以在原先插件工程的根目录下执行命令flutter create –platforms ohos –t plugin ./,也会自动创建插件鸿蒙平台代码目录ohos,与android和ios并列
    4. 平台代码重写,例如原来在Android平台上开发的Java代码,适配时需要重写成ArkTS代码
    5. 打包验证,目前也有两种方案:
  • 一套代码,一套流水线:鸿蒙版Flutter SDK也可以编译打包支持Android/IOS平台运行的包(APK或ipa),使用方便,与普通版本完全一致
  • 一套代码,两套流水线:HarmonyOS和Android/ios分别采用不同的Flutter SDK编译构建,最大程度复用代码
    1. 测试与发布

版本选择

之前在Android/IOS上使用的Flutter版本可能与适配HarmonyOS的Flutter版本不同,这需要做版本的升级,当前有三个版本适配了HarmonyOS,分别对应社区Flutter SDK的:3.7.123.22.03.27.4

切换建议:

  • 升级前做好备份
  • 选择与当前版本差异最小的版本,逐步升级
  • 做好测试用例保护

Flutter版本升级
存量项目或历史版本需先调整至上述支持版本,按 “最小适配成本” 选择,由于小版本升级不会有破坏性改动,所以仅关注版本号前两位即可:

  • 当前版本 < 3.7 → 升级至 3.7.12
  • 7 < 当前版本 < 3.22 → 升级至 3.22.0
  • 22 < 当前版本 < 3.27 → 升级至 3.27.4
  • 当前版本 > 3.27 → 降级至 3.27.4

在升级Flutter时遇到的Dart错误,可以使用dart fix命令自动修复代码,大多数破坏性改动是支持自动修复的,具体可以参考Flutter官方提供的升级指导:

注意当升级跨多个版本时,需要关注这中间多个版本的破坏性改动

技术架构选型

Flutter开发App有2种模式:纯Flutter APP和混合开发。
纯Flutter APP和混合开发对比:

维度 纯 Flutter APP 混合开发
开发范围 全栈 Flutter,HarmonyOS仅作容器 部分Flutter + 主HarmonyOS工程
原生功能适配 较难(需通过通道调用) 便捷(原生模块直接调用)
开发 / 维护成本 低(单一技术栈) 高(多技术栈协作)

选型策略:

  • 全新项目,无存量代码:推荐选纯Flutter APP模式,从零开始用Flutter可最大化发挥 “一套代码跨多端” 的优势,避免混合开发的集成成本,迭代效率更高。
  • 已有成熟原生APP,新功能使用Flutter开发:仅需适配现有安卓ios代码为HarmonOS代码,原生开发更便捷,新业务需求集成Flutter代码,实现跨端开发。
  • 需深度利用平台特性:推荐使用混合开发,复杂原生功能通过原生代码实现更稳定,Flutter仅负责上层UI,避免通过Platform Channel频繁通信导致的性能损耗和调试复杂度。

工作量评估

适配过程中,工作量主要有以下几部分组成:

  • 三方库替换
  • Flutter Plugin中会涉及到平台代码,当适配HarmonyOS时,也需要对这些plugin也进行鸿蒙化。根据使用量排序已经适配了一批plugin,归档在GitCode上,使用方法可以参考Flutter三方库依赖引用及常见问题
  • 针对尚未适配的插件可以去官方开发者论坛提需求,会有官方技术支持响应评估,可以选择功能相同或类似的鸿蒙化插件进行替换
  • 针对自研插件,需要自行适配,文档可以参考开发plugin
    • 平台代码适配

Android或者IOS上可能开发了一些平台代码(Java、swift等),在适配时,需要将此部分代码使用ArkTS重写,经验评估: ArkTS代码行数 = 0.7 * Java代码行数

  • C++相关适配
    分为SO和源码两种:
  • SO文件需要对源码进行交叉编译成HarmonyOS上可运行的SO,再使用dart:ffi调用
  • 源码可以使用FFI插件的方式,HarmonyOS上需要使用cmake进行编译

可以结合自身对相关技术的掌握程度评估具体工作量

环境准备

  1. 先安装好最新release版本的DevEco Studio
  2. 下载鸿蒙版本的Flutter SDK
  3. 由于当前DevEco Studio不支持Dart开发,还需要额外下载VSCode或者Android Studio进行Dart开发和调试
  4. 以上完成后配置环境变量

以上完成后就可以开发HarmonyOS上的Flutter应用了

命令行工具

Flutter命令行工具也做了鸿蒙化,使用起来和在Android上十分类似,环境配置完后即可使用,可以直接通过命令创建Flutter鸿蒙模板工程,打包成har、hap或者app包,或者运行程序等等。列举了一些常用的命令如下:

指令名称 指令描述 使用说明
doctor 环境检测 flutter doctor -v
create 创建新项目 flutter create –platforms ohos,android,ios –org <org> <appName>
create 创建module模板 flutter create -t module <module_name>
create 创建plugin模板 flutter create -t plugin –platforms ohos,android,ios <plugin_name>
create 创建plugin_ffi模板 flutter create -t plugin_ffi –platforms ohos,android,ios <plugin_name>
devices 已连接设备查找 flutter devices
build 测试应用构建 flutter build hap –debug [–target-platform ohos-arm64]
build 正式应用构建 flutter build hap –release [–target-platform ohos-arm64]
run 应用运行 flutter run
attach 调试模式 flutter attach
pub 获取依赖 flutter pub get
clean 清除项目依赖 flutter clean
cache 清除全局缓存数据 flutter pub cache clean

参考完整命令列表

如何调试

由于当前DevEco Studio无法调试Dart代码,因此日常开发调试需使用2个IDE:Deveco Studio+Android Studio或VSCode。

  • Flutter App类型:
  • 如何调试ArkTS代码
    1. 连接真机或模拟器,真机需启用开发者选项,并打开USB调试,使用Deveco Studio打开ohos目录,并配置调试签名
    2. 在Flutter工程根目录下执行flutter build hap构建出hap包。
    3. 在需要调试的Arkts代码行打上断点,点击第一步中DevEco Studio的右上角debug按钮运行应用程序,即可调试ArkTS代码。
  • 如何调试Dart代码
    1. 使用Android Studio打开工程,找到main.dart文件,debug运行main方法。
    2. 使用VSCode打开工程,找到main.dart文件,debug运行main方法。
  • 混合开发类型:
  1. 参考app类型如何调试ArkTS代码, debug运行ohos工程。
  2. 调试Dart码时,使用android studio或vscode,通过flutter attach连接已经运行的应用程序,此时可以断点调试Dart,也可热重载Dart代码。

三方库替换

  • 纯Dart库
    可以直接引用pub上的版本,不涉及HarmonyOS适配工作
  • 已适配HarmonyOS三方库
    需要采用git方式进行引用,详细可以参考Flutter三方库依赖引用及常见问题
  • 插件未适配
    可以去官方开发者论坛提需求,会有官方技术支持响应评估,可以选择功能相同或类似的鸿蒙化插件进行替换
  • 自定义三方插件
    需要自行适配,文档可以参考开发plugin

申请应用权限

  • 需要评估当前应用场景是否可申请受限权限,如满足申请条件,可提供相关申请材料到应用市场申请相应权限
  • 通常在三方插件中如Wechat_Asset_Picker等涉及受限权限,可考虑使用其它三方库替换,例如image_picker
  • 另外有些受限权限,文档建议使用安全控件替代,但是跨端框架无法使用安全控件,申请的时候可以注明此应用是跨端框架开发的应用,一般可以通过申请

打包和发布

  1. 测试/生产证书管理、环境隔离
  • 自动签名:开发自测阶段,IDE提供了自动签名方式快速签名,且开放了ACL权限,以及开通开放能力(推送、地图等),方便开发者快速开发调试。
  • 手动签名:发布上架应用阶段,需使用手动签名方式申请发布证书,需手动在AGC平台上申请ACL权限且审批通过,需开通开放能力
    1. 构建release包
  • 使用Deveco Studio构建App包:
    1. 在Flutter工程中执行命令行flutter build har –release构建har包。
    2. 参考打包APP使用Deveco Studio工具构建App包,打包产物路径ohos/build/outputs/default/***.app。
  • 使用Flutter构建App包(纯Flutter应用):
    使用发布证书替换调试证书后,执行命令行flutter build app –release即可编译构建出app包,打包产物路径:ohos/build/outputs/default/***.app。
  • 混合开发应用:
    1. har包引入:Flutter module编译release的har包,替换Ohos工程中的har包,使用Deveco Studio构建App包。
    2. 源码引入:直接使用Deveco Studio构建App包。
  1. 发布AppGallery Connect
  • 发布HarmonyOS应用:应用正式发布到华为应用市场前,AGC审核人员会进行会审核开发者提交的所有信息。
  • 邀请测试:正式版本发布之前,您可以选择特定用户群组来测试您的应用,以收集测试用户的反馈意见,助您提前发现问题,及时修复和优化版本体验
  • 内部测试:可以将应用发布上传至您的服务器或者第三方云上,团队参与测试的人员可以将应用下载到授权的设备上测试。
  • 蒲公英测试:蒲公英平台提供了分发HarmonyOS应用的服务,IOS开发者能够快速的掌握分发测试HarmonyOS应用。