鸿蒙接入Flutter3.22

news/2024/11/7 12:43:33/文章来源:https://www.cnblogs.com/zhaloe/p/18531910

配置环境变量

  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/sdkexport PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/binexport PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/binexport 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.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn# HamonyOS SDKexport TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdkexport PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/binexport PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/binexport PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin

构建步骤

  1. 运行 flutter doctor -v 检查环境变量配置是否正确,Futter与OpenHarmony应都为ok标识,若两处提示缺少环境,按提示补上相应环境即可。
    img1
  2. 创建工程与编译命令,编译产物在<projectName>/ohos/entry/build/default/outputs/default/entry-default-signed.hap下。
 # 创建工程flutter create --platforms ohos <projectName># 进入工程根目录编译# 示例:flutter build hap --releaseflutter 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 --releaseflutter 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手机上查看效果了。
harmony
android
鸿蒙平台ohos下的flutter.har包可以拷贝到其它项目中直接使用。

  • 本示例源码详见gitee

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

王慧文回归带队美团探索 AI 应用;对话音频开源模型 Hertz-dev:120 毫秒超低延迟丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

思通数科纸质档案扫描与识别与档案馆应用场景介绍

在传统档案馆中,纸质文件的处理和管理是一个重要且繁琐的环节,特别是面对庞大的历史资料库。思通数科的AI能力平台提供了一种高效的数字化解决方案,利用OCR技术将纸质档案中的信息自动提取并转化为数字文本,具体过程包括以下几个步骤: 1.扫描与图像预处理 首先,系统将纸质…

CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion

文章信息 标题 CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion 会议及时间 CVPR2023 主要内容 为了解决建模跨模态特征和分解期望模态特有和模态共有特征的挑战,本文提出了一种用于多模态图像融合的双分支Transformer-CNN架…

Jetbrains全家桶激活方法

亲测有效,此处以phpstrom为例,按理其他产品也可以用相同的方式激活。 原理是我们通过代码搜索其他授权服务器进行永久激活。 方式一 通过censys https://search.censys.io/用到的代码: services.http.response.headers.location: account.jetbrains.com/fls-auth 我们将上…

文件夹加密小工具:保护你的隐私安全

在数字化时代,个人数据的隐私和安全性变得尤为重要。无论是存储重要文件、敏感信息还是私人照片,我们都希望这些数据能够得到妥善保护。文件夹加密小工具正是为了满足这一需求而设计的,它采用C#语言编写,基于.NET 4.7框架,并引用了miniExcel库来加载和保存用户设置的文件夹…

制作并量化GGUF模型上传到HuggingFace和ModelScope

使用 llama.cpp 制作并量化 GGUF 模型,并将模型上传到 HuggingFace 和 ModelScope 模型仓库llama.cpp 是 Ollama、LMStudio 和其他很多热门项目的底层实现,也是 GPUStack 所支持的推理引擎之一,它提供了 GGUF 模型文件格式。GGUF (General Gaussian U-Net Format) 是一种用于…

cmd格式化U盘,并用UltraISO做系统盘

背景 要给一台服务器重做系统,需要先做个u盘系统盘 格式化U盘 C:\Users\海>diskpartMicrosoft DiskPart 版本 10.0.19041.3636Copyright (C) Microsoft Corporation. 在计算机上: DESKTOP-07439DEDISKPART> list disk磁盘 ### 状态 大小 可用 Dyn G…

AI 搜索来势汹汹,互联网将被颠覆还是进化?

最近,美国新闻集团起诉了知名 AI 搜索引擎 Perplexity AI。也许你会想,这不就是又一起“AI 惹官司”吗?其实,这次情况不太一样,甚至可能会改变我们未来上网的方式! 争议的焦点是什么?是未来的 AI 搜索——即那些能从全网总结信息的“AI 答题王”。这些 AI 不只是简单的聊…

CSS3实现放大镜效果

市面上基本上所有的购物平台、商城上的商品详情页,对于商品的图片都是有放大功能。那么这个功能主要是怎么实现的呢?CSS3实现放大镜效果主要依赖于CSS的一些高级特性,如transform、transition和::before伪元素等 其实代码并没有多少,这里用了6款静态资源图片作为示例,但是…

应届生必看!23 个高质量 C++ 项目推荐,校招简历秒加分

应届生必看!23 个高质量 C++ 项目推荐,校招简历秒加分大家好,我是小康。 最近,不少同学私信我,临近毕业忙着找工作,想问有没有推荐的 C++ 项目,既能练手又能让简历更出彩。我也想起自己当年毕业时同样的焦虑,知道作为 C++ 后端开发的求职者,有几个实际且吸引人的项目,…