从开发到上架:Flutter App 三端适配鸿蒙、iOS、Android 全流程经验分享

614 阅读4分钟

从开发到上架:Flutter App 三端适配鸿蒙、iOS、Android 全流程经验分享

一套 Flutter 代码,三端上线。本文记录如何将同一个 Flutter 项目,成功上架到 鸿蒙应用市场、App Store、Android 应用市场 的全过程,包括版本选择、环境管理、适配问题与上架经验。


我一直想尝试开发鸿蒙 App,刚好自己熟悉 Flutter,而 Flutter 现在也支持鸿蒙开发。于是趁这个机会,我从 0 到 1 开发了一款 App,不仅上架到了鸿蒙应用市场,还同步发布到 App Store 和各大 Android 市场。整个过程也让我顺便体验了一下鸿蒙版 Flutter 的成熟度,于是就把这段经历记录下来

🚀 成果展示

download.png

这三个市场的上架难度:鸿蒙 > Android > iOS
PS:上架难度大,某种意义上说明商店对 App 的质量要求比较高,对用户来说是好事,对开发者就比较折磨了


🪪 上架前置条件

在正式上架前,需要准备以下材料:

  • ✅ 软件著作权(电子软著)
  • ✅ App 备案
  • ✅ 隐私政策与用户协议
  • ✅ 开发者账号(Apple / 应用市场 / 华为)

⚠️ 这些东西都是需要提前准备的,虽然申请难度不大,但是比较花时间


🧱 技术选型与版本选择

我在开发时选择的 Flutter 版本如下:

平台Flutter 版本说明
Android / iOS3.32.8stable
鸿蒙鸿蒙 3.32.4 (dev)dev

鸿蒙的 Flutter 稳定版是 3.22.0,这里没有选择稳定版的原因是:

  • 希望保持语法和生态的一致性
  • 方便多端同步升级
  • 减少分支和平台差异代码

🔧 使用 FVM 管理 Flutter 版本

FVM(Flutter Version Management)让多个项目可以独立使用不同的 Flutter SDK 版本。

好处:

  • 不会污染全局环境
  • 多项目共存更轻松

image.png

配置参考:www.cnblogs.com/shaohushuo/…

🧭 使用 Git Worktree 管理多平台仓库

多平台项目(尤其是鸿蒙 + Android)在同一个仓库中维护时,git worktree 是非常实用的工具。

优点:

  • 不同分支在本地是两个文件夹,本地环境不会因为频繁切换分支搞乱
  • Flutter 主工程与鸿蒙工程可以共用同一代码库

🤖 开发中使用的 AI 工具

这次开发我大量使用了 AI 辅助开发,效率非常高:

工具用途
Cursor / Codex辅助写代码、调试问题
ChatGPT、即梦生成 App 图标、插画素材

有了 AI 辅助,开发效率是真的提升太多。主流 AI 工具都值得试用,最后选一个自己习惯的就好


⚙️ 鸿蒙 SDK 适配与踩坑记录

在切换到鸿蒙 SDK 后,花了不到 1 天时间就适配完成,整个过程还是很容易的,但是我这个是新项目,旧项目还要考虑插件适配问题,可能就不止这么点时间了

相关参考:

这里说几个需要注意的:

  • 在依赖第三方库的时候,一定要注意看有没有适配鸿蒙 已适配列表
  • 虽然我的项目使用鸿蒙 flutter dev 版本暂时没问题,但是这可能只是暂时没发现问题,不代表就真的没问题。鸿蒙 Flutter 稳定版情况,可以关注官方仓库 鸿蒙 Flutter 仓库
  • 我的项目使用了 sqflite,同样的代码,在 Android 和 iOS 上没问题,但是在鸿蒙上出现 ⚠️ XComFlutterOHOS_Native: flutter settings log message: [DB] Raw update failed: DatabaseException(error code:14800021。SQLite: Generic error.) 这样的错误提示。后来发现,是有一些语法不兼容,更换写法后解决:✅ await db.update(table, data, where: 'id = ?', whereArgs: [anchor.id]); 改成 return await db.insert(table, data, conflictAlgorithm: ConflictAlgorithm.replace);

工具推荐

工具用途
icon.kitchen一键生成多平台图标
App Mockup Studio生成商店截图展示图
iLoveIMG在线修改图片尺寸

💭 总结与思考

  • Flutter 的三端上架是完全可行的
  • 鸿蒙生态正在快速完善
  • AI 工具的加入,让开发和设计效率都有质的提升

“这次三端上架的过程,是一次技术的融合实验,也是一段探索之旅。希望我的经验能帮到下一个想尝试多端上架的 Flutter 开发者。”


👋 如果你觉得有帮助,可以点赞或收藏支持一下,也欢迎在评论区交流你的 Flutter 上架经历!