配置环境变量

  1. 配置HarmonyOS SDK和环境变量
  • API12, deveco-studio-5.0 或 command-line-tools-5.0
  • 配置 Java17
  • 配置环境变量 (SDK, node, ohpm, hvigor)
 export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境
export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin
  1. 通过代码工具下载Flutter仓库代码git clone https://gitee.com/harmonycommando_flutter/flutter.git,指定dev或master分支,并配置环境
 # 依赖缓存
export PUB_CACHE=D:/PUB
# 拉取下来的flutter_flutter/bin目录
export PATH=<flutter_flutter path>/bin:$PATH
# 国内镜像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn # HamonyOS SDK
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境
export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin

构建步骤

  1. 运行 flutter doctor -v 检查环境变量配置是否正确,Futter与OpenHarmony应都为ok标识,若两处提示缺少环境,按提示补上相应环境即可。

  2. 创建工程与编译命令,编译产物在<projectName>/ohos/entry/build/default/outputs/default/entry-default-signed.hap下。
 # 创建工程
flutter create --platforms ohos <projectName> # 进入工程根目录编译
# 示例:flutter build hap --release
flutter build hap --release
  1. 通过flutter devices指令发现ohos设备之后,使用 hdc -t install 进行安装。
  2. 也可直接使用下列指令运行:
   # 示例:flutter run -d <device-id>
flutter run --debug -d <device-id>
  1. 构建app包命令:
 # 示例:flutter build app --release
flutter build app --release

已兼容OpenHarmony开发的指令列表

指令名称 指令描述 使用说明
doctor 环境检测 flutter doctor
config 环境配置 flutter config --"key" "value"
create 创建新项目 flutter create --platforms ohos,android,ios --org "org" "appName"
create 创建module模板 flutter create -t module "moduleName"
create 创建plugin模板 flutter create -t plugin --platforms ohos,android,ios "pluginName"
create 创建plugin_ffi模板 flutter create -t plugin_ffi --platforms ohos,android,ios "pluginName"
devices 已连接设备查找 flutter devices
install 应用安装 flutter install -t "deviceId" "hap文件路径"
assemble 资源打包 flutter assemble
build 测试应用构建 flutter build hap --debug
build 正式应用构建 flutter build hap --release
run 应用运行 flutter run
attach 调试模式 flutter attach
screenshot 截屏 flutter screenshot

附:Flutter三方库适配计划

运行到手机上

在项目根目录下执行flutter run就可以运行到手机上了,若连接的是Android手机,则可以直接运行并在手机上查看效果。若连接的是鸿蒙NEXT手机,则需先配置证书,配置证书的地方在ohos/build-profile.json5文件中,证书配置完成后,就直接直接运行并在鸿蒙NEXT手机上查看效果了。





鸿蒙平台ohos下的flutter.har包可以拷贝到其它项目中直接使用。

鸿蒙接入Flutter3.22的更多相关文章

  1. tomcat相关配置技巧梳理

    tomcat常用架构:1)nginx+tomcat:即前端放一台nginx,然后通过nginx反向代理到tomcat端口(可参考:分享一例测试环境下nginx+tomcat的视频业务部署记录)2)to ...

  2. tomcat相关配置技巧梳理 (修改站点目录、多项目部署、限制ip访问、大文件上传超时等)

    tomcat常用架构:1)nginx+tomcat:即前端放一台nginx,然后通过nginx反向代理到tomcat端口(可参考:分享一例测试环境下nginx+tomcat的视频业务部署记录)2)to ...

  3. 20 个 OpenSSH 最佳安全实践

    来源:https://linux.cn/article-9394-1.html OpenSSH 是 SSH 协议的一个实现.一般通过 scp 或 sftp 用于远程登录.备份.远程文件传输等功能.SS ...

  4. 【资源下载】安卓VS鸿蒙第三方件切换宝典 V1.0

    下载<安卓VS鸿蒙第三方件切换宝典> 由于字数较多,本文仅展示部分,查看完整版请点击上方下载 众所周知,安卓应用开发经过这么多年的发展相对成熟和稳定,鸿蒙OS作为后来者兼容一个成熟的开发体 ...

  5. C#开发微信门户及应用(32)--微信支付接入和API封装使用

    在微信的应用上,微信支付是一个比较有用的部分,但也是比较复杂的技术要点,在微商大行其道的年代,自己的商店没有增加微信支付好像也说不过去,微信支付旨在为广大微信用户及商户提供更优质的支付服务,微信的支付 ...

  6. 【chrome插件】web版微信接入图灵机器人API实现自动回复

    小贱鸡自动回复API已经不可以用了,现在改良接入图灵机器人API 360chrome浏览器团队翻译了部分谷歌插件开发文档 地址:http://open.chrome.360.cn/extension_ ...

  7. quick-cocos2d-x 实现在lua里面完成android支付宝的接入

    quick-cocos2d-x 实现在lua里面完成android支付宝的接入 一.支付宝注册是很麻烦的一个过程,本文就不解释了,想了解的去官网看下注册流程.然后下载他们的sdk-WS_SECURE_ ...

  8. [官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

    [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.it ...

  9. U8SDK——游戏接入SDK(只接入抽象框架)

    上一篇文章我们说了整个U8 SDK抽象成的设计,那这篇文章,我们就来验证一下,他是否如我们期待的那样,简单灵活. 正如之前所说,对于每个游戏,只需要接入抽象层,而每个渠道SDK的接入,就是该抽象层的一 ...

  10. SDK接入(U8SDK)——SDK抽象层的设计

    上一篇文章,我们总体地分析并设计了一套高效的SDK接入方案,也罗列出这套方案,我们需要完成的工作.这里再罗列并回顾下: 1.统一抽象的SDK接入框架 2.各个SDK接入实现 3.一键打包工具 4.统一 ...

随机推荐

  1. Camera | 3.瑞芯微平台MIPI摄像头常用调试命令

    瑞芯微专栏 前面2篇我们讲解了camera的一些基础概念和知识. 本文主要讲述在瑞芯微平台上摄像头开发常用的调试命令. 0.环境 soc : rk3568 board: EVB1-DDR4-V10 软 ...

  2. OpenPCDet为KITTI数据集生成数据信息出现错误TypeError: load() missing 1 required positional argument: ‘Loader‘的解决方案

    OpenPCDet为KITTI数据集生成数据信息出现错误 TypeError: load() missing 1 required positional argument: 'Loader' 通过查阅 ...

  3. liunx下安装Nginx

    Linux下nginx的安装以及环境配置 https://blog.csdn.net/qq_42815754/article/details/82980326 第一步:下载nginx压缩包 在这里可以 ...

  4. 阿里云 CLI 使用

    安装 macOS: brew install aliyun-cli Linux: wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-a ...

  5. Windows 服务管理

    创建服务 New-Service -Name NAME -BinaryPathName COMMAND -StartupType Automatic -Description DESCRIPTION ...

  6. 全网最适合入门的面向对象编程教程:45 Python 实现常见数据结构-链表、树、哈希表、图和堆

    全网最适合入门的面向对象编程教程:45 Python 实现常见数据结构-链表.树.哈希表.图和堆 摘要: 数据结构是计算机科学中的一种组织和存储数据的方式,它决定了数据的访问方式和操作效率,数据结构的 ...

  7. UC_Center整合单点登录后远程注册不激活问题的解决办法

    修改:bbs目录\uc_server\model\user.php 下方法add_user 如下: function add_user($username, $password, $email, $u ...

  8. 图解YUV420、YUV420(YUY2)、YUV422(YVYU)

    Y:亮度分量    UV:色度分量 1.  标准yuv指的是yuv420 一般看文章,会出现下面的公式,但不涉及具体的yuv格式,其实这一定指的是yuv420 Y与RGB的演算关系为:Y = 0.21 ...

  9. Kubernetes基础(kube-apiserver?kube-controller-manager?kube-scheduler?kubelet?kube-proxy?kubectl?)(十一)

    一.kube-apiserver API Server 提供了资源对象的唯一操作入口,其它所有组件都必须通过它提供的 API 来操作资源数据.只有 API Server 会与 etcd 进行通信,其它 ...

  10. Spark集群的安装及高可用配置

    spark官网学习文档 Spark集群的安装及高可用配置 前期需求:Hadoop和Scala必须已经安装完成 步骤: ①进入spark下载网站中https://spark.apache.org/dow ...