首页 > 其他分享 >flutter开发适配鸿蒙之开发环境搭建

flutter开发适配鸿蒙之开发环境搭建

时间:2025-01-03 20:05:56浏览次数:3  
标签:鸿蒙 -- 适配 ohos hap PATH tools flutter

HarmonyOS next之flutter开发适配鸿蒙之开发环境搭建

第一:环境搭建

1.安装 DevEco Studio NEXT IDE, 注意版本应该是 Next,当前最新的是 Beta3
.下载之前需要先登录,后面的模拟器创建还要开发者验证、审核啥的,好在审核进度还可以,我这边提交申请后差不多两个小时审核通过
.找到自己电脑系统匹配的版本下载,我的电脑是Window的就选择Window版本下载
.安装步骤比较简单,一步步next直到完成即可,新版本的工具已经集成node和ohpm等环境进去了,不用单独下载安装了
2.安装Git, 如果要同时适配安卓,需要安装Android Studio; 如果要适配ios,需要安装Xcode

Mac 安装(推荐)
环境变量配置

# Flutter Mirror
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

# HarmonyOS SDK
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents/
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

Windows 安装
配置用户变量

FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

PUB_HOSTED_URL=https://pub.flutter-io.cn

DEVECO_SDK_HOME=C:\Program Files\Huawei\DevEco Studio\sdk

配置环境变量
编辑 PATH,添加以下路径

C:\Program Files\Huawei\DevEco Studio\tools\ohpm\bin
C:\Program Files\Huawei\DevEco Studio\tools\hvigor\bin
C:\Program Files\Huawei\DevEco Studio\tools\node

管理多个 Flutter 版本
如果在项目开发中,需要使用多个 Flutter 版本,可以考虑使用 fvm
1.安装 FVM
2.使用 fvm 官方 flutter 版本
fvm install 3.22.0
3.安装自定义鸿蒙版本,进入 fvm/version 目录,通常位于用户目录下,如 ~/fvm/versions/3.22.0, 拷贝仓库并重命名为 custom_x.y.z的名字
git clone -b dev https://gitee.com/openharmony-sig/flutter_flutter.git custom_3.7.12
4.在项目中使用单独的 flutter sdk 版本, 在项目目录中执行:
fvm use custom_3.7.12

第二:创建运行项目
  1. 检测flutter创建鸿蒙运用条件是否可以了
    运行flutter doctor -v检查环境变量配置是否正确
[✓] HarmonyOS toolchain - develop for HarmonyOS devices
    • OpenHarmony Sdk at E:\ohos\DevEcoStudio\sdk, available api versions has [12:default]
    • Ohpm version 5.0.8-rc.1    #如果这里报x错误,说明上面的`PATH变量添加值 %TOOL_HOME%\tools\ohpm\bin`添加的环境变量ohpm的路径配置有问题
    • Node version v18.20.1      #如果这里报x错误,类似PATH配置的node路径有问题
    • Hvigorw binary at E:\ohos\DevEcoStudio\tools\hvigor\bin\hvigorw   #如果这里报x错误,类似PATH配置的hvigor路径有问题

2. 创建flutter项目
创建工程 方式一 该方式只创建了ohos平台
flutter create --platforms ohos
创建工程 方式二 该方式创建了android,ios,ohos三个平台
flutter create
进入工程根目录编译hap包,创建完项目之后,要先执行这步build才能生成依赖,如果直接使用DevEcho Studio打开会报错找不到flutter.har依赖库flutter build hap --debug

3. 运行flutter项目到鸿蒙next手机
方式一:通过flutter devices指令发现真机设备之后,获取device-id,进入项目目录指定构建方式编译hap包并安装到鸿蒙手机中 flutter run --debug -d

flutter devices
  flutter run --debug -d <deviceId>

方式二:进入工程根目录编译hap包,然后安装到鸿蒙手机中

flutter build hap --debug
  hdc -t <deviceId> install <hap file path>    # 类似Android的adb安装:adb -s <deviceId> install <apk file path>

方式三:使用DevEcoStudio打开项目的ohos模块

  1. File --> Project Structure --> Signing Configs --> 勾选Automatically generate signature --> Apply ,可以启用启动签名,第一次执行flutter build hap的时候也会提示到
  2. 创建模拟器:Device Manager --> 进去根据提示可以插件模拟器,不过第一次创建还需要进行开发者验证以及审核。。。
  3. 重点提示一下:创建的模拟器只有x86架构的,而这篇文章我们通过flutter_flutter构建的支持鸿蒙的flutter运用只支持arm64架构的,人家文档也说明了,所以啊其实创建模拟器对flutter应用也没啥用,#要真机运行
第三:打包项目

1. 打包测试包

flutter build hap --debug

如果需要指定engine的话,使用–local-engine参数
使用flutter build hap --debug --local-engine=E:\ohos\flutter_image\src\out\ohos_debug_unopt_arm64,会提示失败src\out\ohos_debug_unopt_arm64\flutter.har找不到
如果提示flutter.har找不到,那就是从项目目录下的ohos\har\flutter.har拷贝一份到src\out\ohos_debug_unopt_arm64目录下,然后再执行上一步就能成功

2. 打包正式包

flutter build hap --release 或者 flutter build hap

如果需要指定engine的话,使用–local-engine参数
比如flutter build hap --release --local-engine=E:\ohos\flutter_image\src\out\ohos_release_arm64,会提示失败src\out\ohos_release_arm64\flutter.har找不到
如果提示flutter.har找不到,那就是从项目目录下的ohos\har\flutter.har拷贝一份到src\out\ohos_release_arm64目录下,然后再执行上一步就能成功

常见问题
1.运行 flutter doctor 出现 Error: Unable to find git in your PATH.
执行以下命令

git config --global --add safe.directory '*'

参考资料
Flutter中文文档
Harmonyos Next 开发文档

标签:鸿蒙,--,适配,ohos,hap,PATH,tools,flutter
From: https://blog.csdn.net/flfljh/article/details/144885171

相关文章

  • 设计模式 - 适配器模式
    概述适配器模式(AdapterPattern)是一种结构型设计模式,它将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。适配器模式通过引入一个适配器类来解决接口不兼容的问题,从而提高了代码的复用性和灵活性。结构适配器模式包含以下几个......
  • 鸿蒙NEXT开发中使用星闪服务
    大家好,我是V哥,学习鸿蒙开发的星闪服务,整理了这个学习笔记分享给大家。NearLinkKit(星闪服务)是鸿蒙操作系统提供的一种低功耗、高速率的短距离通信服务,它允许设备之间进行连接和数据交互。以下是一些具体的使用案例和步骤,以帮助理解如何在实际业务中使用星闪服务。以下这些场景......
  • 鸿蒙开发-阅读器正文页面实现
    鸿蒙开发-阅读器正文页面实现记录开发一个小说阅读应用的过程实现点击书籍,读取该书籍的文件内容,然后显示该书籍正文内容,滑动进行翻页。实现逻辑在书架页面,获取书籍列表,为每一项添加点击事件,进行路由带参跳转,参数为书籍路径或书籍URL,跳转到正文页面。进入正文页面后,设置阅读......
  • 数据大屏可视化适配方案有哪些?
    在前端开发中,数据大屏可视化的适配方案是确保大屏在不同设备和分辨率下都能良好显示的关键。以下是一些常见的数据大屏可视化适配方案:一、响应式设计响应式设计是一种根据屏幕尺寸和分辨率自适应调整布局和样式的设计方法。在大屏数据可视化中,可以通过响应式设计实现不同设备的......
  • 小程序大屏适配指南
    小程序大屏适配指南概述为保证用户在PC端使用小程序也有流畅友好的体验,本指引将提供一系列大屏适配相关建议,以供参考。1.为什么要做适配?由于用户可在PC端使用小程序,且有可能在不同尺寸视图下进行切换,为了保证小程序在不同尺寸屏幕下的体验流畅友好,我们建议开发者根据用户使用......
  • 「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
    本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。关键词条件筛选动态数据展示状态管理UI交互查询系统一、功能说明模拟火车票查询系统包含以下功能:用户输入查询条件:支持输入出发......
  • Flutter进阶组件(8):PaginatedDataTable(分页数据表格)
    一、介绍上一篇博客:Flutter进阶组件(7):DataTable(数据表格)-fengMisaka-博客园,介绍了DataTable,下面介绍另外一个常用的表格组件PaginatedDataTable。PaginatedDataTable是一个展示数据表格并提供分页功能的widget。它将数据分成多个页面,每次只展示一个页面的数据,用户可以通过分......
  • 鸿蒙 NEXT 开发中,使用公共事件进行进程间通信
    大家好,我是V哥,在鸿蒙NEXT开发中,使用公共事件进行进程间通信(IPC)是一种常见的做法。下面我将提供一个完整的业务代码示例,并解释逻辑关系,以便即使是初学者也能按照步骤进行实操,废话不多说,直接上干货。业务场景假设我们有两个应用,应用A和应用B。应用A需要在电量低时通知应用B执......
  • 有度即时通参加广东鸿蒙生态伙伴论坛,共同推动鸿蒙生态建设
    近日,HDD·广东鸿蒙生态伙伴论坛在广州隆重举行。此次论坛由华为技术有限公司主办,广东软件行业协会协办,汇聚了众多业内精英和技术专家,共同探讨鸿蒙生态的最新进展与创新应用。有度即时通作为华为鸿蒙生态的重要合作伙伴参与此次盛会,与众多伙伴共同推进鸿蒙生态建设。    ......
  • 说说你对Flutter的理解
    Flutter是Google推出的一款UI框架,它允许开发者通过一套代码同时运行在iOS和Android平台上,构建出媲美原生体验的精美应用。以下是我对Flutter的深入理解,主要从其特点、优势、应用场景以及社区支持等方面进行阐述:一、Flutter的特点美观:Flutter提供了丰富的Widget,如动画、手势等,......