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

flutter项目适配鸿蒙

flutter项目适配鸿蒙

一、安装鸿蒙环境

1、下载鸿蒙 for Flutter库

查看项目readme文件中,有具体的安装环境步骤。

二、创建项目

1.进入项目根目录,如果项目还未创建,则使用 flutter create 命令创建项目。

2.如果项目已经创建,还未添加鸿蒙平台支持,则使用以下命令添加鸿蒙平台支持。

flutter create --platforms ohos .  --org com.silence

.指定的是当前目录,org com.lenercom 为组织名称,一般为自已拥有的域名反过来。如果不固定组织名称,则会出现报错:

Ambiguous organization in existing files: {org, com.lenercom}. The --org command line argument must be specified to recreate project.

当你看到下面的输出时,说明你构建成功了。

此时可以看到项目目录中,除了android和ios文件夹外,多了一个ohos的文件夹,这就是鸿蒙模块的代码了。

连上鸿蒙5.0系统手机后,然后执行flutter run,一般这个是可能会报错什么的,处理一下,直到再次执行flutter run时,提示需要去配置签名的时候,表示项目构建成功了。

silence@silencedeMacBook-Pro bady_menu % flutter run     
Launching lib/main.dart on 36K0224604005989 in debug mode...
start hap build...
Running Hvigor task assembleHap...                                147.2s
请通过DevEco Studio打开ohos工程后配置调试签名(File -> Project Structure -> Signing Configs 勾选Automatically generate signature)
Error: Failed to get the hap file: /Users/silence/Desktop/HmPlace/normalProject/bady_menu/ohos/entry/build/default/outputs/default/entry-default-signed.hap

三、配置签名

需要去配置签名,然后在运行就可以了。不说了,赶紧去试一下。
找到项目中的ohos文件夹,拖到DevEco Studio中,调试模式可以配置自动签名就行。

打开DevEco Studio,将项目中的ohos拖进去后,等待项目构建完成,右下小窗口会有提示,如下图。

这个时候才可以进行配置签名。通过菜单文件->项目构建,打开窗口如下,这个时候需要登录华为开发者账号,登录后返回,点击生成自动签名AutoMatically generate signature

四、运行项目

1.可以通过DevEco Studio直接运行项目,并且这个IDE跑起来更快。比较是官方。

2.在VS Code终端中运行flutter run,成功运行后的输出如下。

silence@silencedeMacBook-Pro bady_menu % flutter run
Launching lib/main.dart on 36K0224604005989 in debug mode...
start hap build...
Running Hvigor task assembleHap...                                162.0s
✓ Built ohos/entry/build/default/outputs/default/entry-default-signed.hap.
installing hap. bundleName: com.silence.bady_menu 
waiting for a debug connection: http://127.0.0.1:58805/4w-8iMq2r3c=/
http://www.xdnf.cn/news/1324171.html

相关文章:

  • JMeter与大模型融合应用之构建AI智能体:评审性能测试脚本
  • 【Jenkins】03 - 自动构建和docker构建
  • MCP协议演进:从SSE到Streamable HTTP的技术革命
  • 宁波市第八届网络安全大赛初赛(REVERSE-Writeup)
  • FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通
  • OpenTelemetry、Jaeger 与 Zipkin:分布式链路追踪方案对比与实践
  • vscode wsl解决需要用别的用户调试的问题
  • VSCode REST Client 使用总结
  • Linux下的软件编程——IPC机制
  • Linx--MySQL--安装笔记详细步骤!
  • k8sday10服务发现(1/2)
  • 数据泵实施VPS海外:跨国数据同步的完整解决方案
  • 45 C++ STL模板库14-容器6-容器适配器-优先队列(priority_queue)
  • 系统架构评估方法全景解析
  • 【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
  • LLM - MCP传输协议解读:从SSE的单向奔赴到Streamable HTTP的双向融合
  • mq存量消息如何处理
  • 【iOS】Block补充
  • RecSys:排序中的融分公式与视频播放建模
  • 数据结构(03)——线性表(顺序存储和链式存储)
  • 从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
  • 常见的光源频闪控制方式
  • CSDN转PDF【无水印且免费!!!】
  • 数字时代著作权侵权:一场资本与法律的博弈
  • Gartner发布2025年AI与网络安全成熟度曲线:用AI增强网络安全计划的27项技术与创新
  • C++ const
  • Swift 实战:判断点集是否关于某条直线对称(LeetCode 356)
  • Effective C++ 条款48:认识模板元编程
  • 【前端面试题】JavaScript 核心知识点解析(第一题到第十三题)
  • 【Python语法基础学习笔记】条件表达式和逻辑表达式