已有Flutter项目适配鸿蒙6

环境准备

HarmonyOS 开发环境

Flutter 环境管理工具FVM (安装方式网上有很多)

官方Flutter

使用FVM安装鸿蒙版的Flutter

前往鸿蒙flutter官方仓库 可以发现他的标签已经支持到3.27.5,但这不是一个正式版,但是他是目前最新的版本了

接下来,我们需要下载项目,并将其切到 3.27.5-ohos-1.0.1 标签

shell 复制代码
# 将目录先切换到FVM的版本路径
cd /XXX/fvm/versions

# 下载仓库 
git clone https://gitcode.com/openharmony-sig/flutter_flutter.git 


# 切换到 3.22.1-ohos-1.0.0 标签 
cd flutter_flutter 
git checkout 3.27.5-ohos-1.0.1

完成后查看Flutter版本

在命令行执行

shell 复制代码
fvm list

会看到我们安装后的鸿蒙版本SDK

使用我们安装的鸿蒙Flutter

切换到我们的项目中来使用 鸿蒙版的Flutter,这里如果你的工程使用了git 托管,我建议另起一个分支来处理鸿蒙适配

接下来,切换到项目根目录下 ,运行以下命令使用刚刚安装的 Flutter SDK:(注意,如果弹出一些提醒,一路 yes 即可:)

shell 复制代码
fvm use  3.27.5-ohos-1.0.1

改造我们的工程来适配鸿蒙

如果你的工程使用了git 托管,我建议另起一个分支来处理鸿蒙适配 下面我们使用鸿蒙版的Flutter来为我们的项目创建 ohos 文件夹:

shell 复制代码
# 建议先在这里确认一下你的 当前flutter sdk有没有切换成功
flutter --version

# 如果没有切换可以执行 fvm use 指令来切换到鸿蒙Flutter

# 执行命令创建ohos文件
flutter create --platforms ohos .  //这行最好这里有个点.

# 如果上面这个命令不好用 可以试试
fvm flutter create --platforms ohos .

这样工程中就出现了ohos 文件

第三方插件的管理

对于三方插件来说,纯 Dart 的库是可以直接在鸿蒙上使用的,和平台相关的类库,需要兼容鸿蒙的库。他们不在 pub 上,而是由开源项目进行维护。有哪些插件支持了鸿蒙,可以在这个清单列表中查看 gitcode.com/openharmony... 比如我的项目中使用了 shared_preferences 就需要使用鸿蒙提供的版本,这里我们可以使用dependency_overrides 覆盖依赖,这样不会影响以前的代码结构:

在项目目录下执行一下命令 来下载依赖库

shell 复制代码
flutter pub get //或者是fvm flutter pub get

对项目进行打包运行

这时候就需要使用鸿蒙的开发 IDE了。打开DevEco-studio

使用DevEco-studio打开刚刚创建的ohos 文件夹

IDE 第一次可能会执行构建

如果有失败可以使用flutter doctor或者 fvm flutter doctor来排除一下问题

一切正常的话,来打包吧

shell 复制代码
flutter build hap --release    //或 fvm flutter build hap --release

这样项目就可以在鸿蒙上跑起来了, 打开模拟器,点击运行即可,如果是真机调试,打开开发者模式重启手机,打开USB调试,插在电脑上,这里我遇到过不识别的问题,我换了官方数据线就好了,普通安卓type-C线可能会不识别【裂开】

相关推荐
「、皓子~17 小时前
海狸IM 2.1 正式发布
flutter·微服务·golang·electron·开源软件·im·海狸im
里欧跑得慢18 小时前
AI 驱动的 UI 国际化方案自动适配:从单一语言到多语言布局的智能转换
前端·css·flutter·web
恋猫de小郭19 小时前
AI 时代,一个优化 Flutter 的重复代码工具 Deslop
android·前端·flutter
ljt27249606612 天前
Flutter笔记--envied
前端·笔记·flutter
加农炮手Jinx2 天前
Flutter for OpenHarmony 实战:flutter_animate 声明式动画让 UI 灵动如原生
flutter·ui·华为·harmonyos·鸿蒙
里欧跑得慢2 天前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
里欧跑得慢2 天前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
吃西瓜的年年3 天前
vue3原理思维导图
vue.js·笔记·flutter
GitLqr3 天前
从代码复用走向生态:Flutter Dart Package 实战全指南
flutter·全栈·dart