已有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线可能会不识别【裂开】

相关推荐
2501_946244787 小时前
Flutter & OpenHarmony OA系统设置页面组件开发指南
开发语言·javascript·flutter
l1340620823513 小时前
Flutter Geocoding 在鸿蒙上的使用指南
flutter·华为·harmonyos
AiFlutter14 小时前
三、内容展示(02):图片
flutter·低代码·低代码平台·aiflutter·aiflutter低代码
l1340620823515 小时前
344.在鸿蒙上使用 animations Flutter 包的指南
flutter·华为·harmonyos
2501_9462447816 小时前
Flutter & OpenHarmony OA系统底部导航栏组件开发指南
android·javascript·flutter
2501_9444460016 小时前
Flutter&OpenHarmony字体与排版设计
android·javascript·flutter
消失的旧时光-194316 小时前
mixin 写一个 Flutter 的“埋点 + 日志 + 性能监控”完整框架示例
android·flutter
消失的旧时光-194317 小时前
Flutter 工程中 mixin 的正确打开方式:5 种高质量设计范式 + mixin vs 继承 vs 组合 + 为什么它比 BasePage 更优雅
前端·flutter·架构
消失的旧时光-194318 小时前
Flutter 中 mixin 的完整认知体系——从原理、范式、架构选择到反模式(工程实战版)
flutter·架构
2501_9462447818 小时前
Flutter & OpenHarmony OA系统下拉刷新组件开发指南
开发语言·javascript·flutter