已有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_9444241212 小时前
Flutter for OpenHarmony游戏集合App实战之俄罗斯方块七种形状
android·开发语言·flutter·游戏·harmonyos
CheungChunChiu13 小时前
Flutter 在嵌入式开发的策略与生态
linux·flutter·opengl
小白阿龙14 小时前
鸿蒙+flutter 跨平台开发——汇率查询器开发实战
flutter·华为·harmonyos·鸿蒙
2501_9444241215 小时前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌配对消除
android·java·开发语言·javascript·windows·flutter·游戏
2501_9445264215 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 设置功能实现
android·javascript·flutter·游戏·harmonyos
kirk_wang15 小时前
Flutter艺术探索-Flutter异步编程:Future、async/await深度解析
flutter·移动开发·flutter教程·移动开发教程
IT陈图图16 小时前
Flutter × OpenHarmony 音乐播放器应用 - 构建录音控制区域
flutter·华为·鸿蒙·openharmony
2501_9444241216 小时前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌表情图案
开发语言·javascript·flutter·游戏·harmonyos
爱吃大芒果16 小时前
Flutter for OpenHarmony前置知识:Dart 语法核心知识点总结(上)
开发语言·flutter·dart
2501_9444241216 小时前
Flutter for OpenHarmony游戏集合App实战之数字拼图打乱排列
android·开发语言·flutter·游戏·harmonyos