当前位置: 首页 > article >正文

Flutter项目适配鸿蒙

Flutter项目适配鸿蒙

  • 前言
  • Flutter项目适配鸿蒙
    • 新工程直接支持ohos
      • 构建新项目
      • 编译
      • 运行
    • 适配已有的Flutter项目

前言

目前市面上使用Flutter技术站的app不在少数,对于Flutter的项目,可能更多的是想直接兼容Harmonyos,而不是直接在重新开发一个新的鸿蒙项目。

那么Flutter如何兼容鸿蒙平台了?接下来我们探讨下Flutter项目是如何兼容鸿蒙的。

参考文档: flutter_sample

Flutter项目适配鸿蒙

新工程直接支持ohos

如果你的项目现在才刚开开始启动, 那么你完全可以创建一个新的Flutter项目,直接支持Android、iOS、ohos 等平台。

构建新项目

创建项目指令:flutter cteate --platforms android,ios,ohos(支持的平台) <projectname(项目名称)>

由于Flutter官方并没有明确表示支持鸿蒙,所以无法使用Android Studio等编译工具直接创建一个支持ohos(鸿蒙)平台的Flutter项目。

命令行输入指令:flutter create --platforms android,ios,ohos flutter_test_demo_gy

执行结果:
在这里插入图片描述

工程结果目录:
在这里插入图片描述
根据目录我们看出, 其实跟原来Flutter创建的工程差别不大, 只是多了一个ohos的工程目录。这个目录就是我们所说的鸿蒙工程。

编译

我们可以打开ohos目录下的鸿蒙工程,然后在终端执行命令flutter build hap
当我们第一次打开ohos功臣, 同步项目时,会报如下错误:
在这里插入图片描述
这个错误是由找不到fluttter.har包的问题, 因为此时你还没有编译, 等你执行完编译指令后就没有这个错误了。

在这里插入图片描述
如上图执行成功后, 我们可以看到ohos项目把Flutter项目的东西打包成一个har包给ohos项目引用着。
在这里插入图片描述
注意:Flutter鸿蒙化项目只能运行在真机上或者arm架构设备的模拟器上

运行

在编译完项目之后, 你可以按照鸿蒙项目的开发流程一样,配置证书、直接点击编译工具运行项目, 也可以使用原来的Flutter指令来运行:flutter run

运行结果:

在这里插入图片描述

Flutter页面正常展示,代表Flutter项目已经成功运行在鸿蒙手机上。

如果后续需要开发新的功能, 我们需要再Flutter中编写相关代码, 然后在走编译、运行流程。

适配已有的Flutter项目

如下图,我现在有一个已经存在Flutter项目:
在这里插入图片描述
从上面的结构目录看, 这个一个不支持ohos平台的项目,我们如何让这个已经存在的Flutter兼容鸿蒙平台?

  1. cd 进入项目根目录
  2. 执行指令flutter create ./ --platform ohos 创建鸿蒙模块

执行结果:
在这里插入图片描述
在这里插入图片描述
执行完命令后的目录结构:
在这里插入图片描述

然后我们就可以打开ohos鸿蒙工程, 直接编译、运行到手机上。

运行结果:
在这里插入图片描述


http://www.kler.cn/a/499906.html

相关文章:

  • 【“软件工程”基础概念学习】
  • 如何修改 Go 结构体的私有字段
  • 微前端介绍
  • 索引页与B+树的关系
  • halcon三维点云数据处理(十)locate_cylinder_3d
  • VS Code的设置功能以及多层级的设置方式与解密
  • 海康机器人IPO,又近了一步
  • 青稞Talk预告!面向自动驾驶与物理世界对齐的视频生成模型
  • PY_11_07
  • 深入详解自然语言处理(NLP)中的语言模型:BERT、GPT及其他预训练模型的原理与应用
  • Qt学习笔记第81到90讲
  • SpringBoot日常:集成Kafka
  • 【深度学习】数据预处理
  • vue3的v-for 与 v-if
  • React setState详细使用总结
  • Bytebase 3.1.0 - 通过 Google / GitHub SSO 功能开放给专业版
  • C语言gdb调试
  • 14.C语言Union详解:节省内存的利器
  • GaussDB分布式数据倾斜处理
  • 2021 年 3 月青少年软编等考 C 语言五级真题解析
  • 如何使用MVC模式设计和实现校园自助点餐系统的微信小程序
  • Day04-后端Web基础(Maven基础)