HarmonyOS鸿蒙Next中flutter应用快速开发至原生方案

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS鸿蒙Next中flutter应用快速开发至原生方案

Flutter项目快速迁移为HarmonyOS应用

介绍

本文主要为现有flutter应用提供一个快速上架鸿蒙的方案,使用的仓库与本人无关,仅供技术参考,欢迎大家提出意见建议,一起完善鸿蒙生态

在展开和选择适配HarmonyOS的Flutter框架时,可以选用以下两个仓库:

  1. OpenHarmony-SIG版本

  2. 第三方版本

重要注意点

  • 适配HarmonyOS的Flutter框架只支持构建ARM64架构的应用,即无法在x86环境的模拟器上进行调试,仅支持M系列芯片ARM架构的Mac上模拟器调试。
  • 也可以使用真机调试,或打包正式包后在华为云真机上进行测试。
  • 为避免与普通Flutter版本出现冲突,建议在不同系统或设备上安装和配置,或通过虚拟机部署。

环境配置方法

1. 安装DevEco Studio和Java JDK

  • 建议的IDE:

    • Flutter使用VSCode编写
    • 原生使用DevEco Studio

2. 克隆Flutter仓库代码

可从两个仓库中选择一个克隆,建议根据自己项目的情况,如果本身使用Dart3.x版本构建的,建议使用第二个:

git clone https://gitee.com/openharmony-sig/flutter_flutter.git

git clone https://gitee.com/harmonycommando_flutter/flutter.git

3. 配置环境变量

按照下列配置环境变量:

# 设置Java路径
JAVA_HOME = <JAVA_HOME Path>
PATH=%JAVA_HOME%\bin

# 设置DevEco路径
TOOL_HOME = <DevEco Studio Path>
DEVECO_SDK_HOME=%TOOL_HOME%\sdk
PATH=%TOOL_HOME%\tools\ohpm\bin
PATH=%TOOL_HOME%\tools\hvigor\bin
PATH=%TOOL_HOME%\tools\node\bin

# 设置Flutter路径
PUB_CACHE=<指定缓存目录>
PATH=<flutter_flutter path>/bin:$PATH
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

4. 格式化配置测试

运行以下指令,确保环境变量配置正确:

flutter doctor -v

确保Flutter与OpenHarmony监查结果均为OK。


迁移现有Flutter应用至HarmonyOS

1. 创建HarmonyOS工程

通过以下指令创建工程:

flutter create --platforms ohos <projectName>

2. 拷贝原有工程文件

将原有工程中的lib和资源文件拷贝至HarmonyOS项目。

3. 配置pubspec.yaml

配置assets,例如:

flutter:
  assets:
    - assets/

4. 检查第三方库适配情况

在pubspec.yaml中配置适配的仓库:

  • 纯Dart库:无需更换
  • 原生库:适配计划链接,可根据自己使用的库,在适配计划中查看已适配的版本并替换

例:使用shared_preferences

shared_preferences:
  git:
    url: "https://gitee.com/openharmony-sig/flutter_packages.git"
    path: "packages/shared_preferences/shared_preferences"
  • 如果是没有适配的库,需要自己手动编写channel,需要有一定的ArkTS原生编码能力。后续我也会发布相关文章针对此部分进一步讲解。

5. 下载依赖和修正代码

使用以下指令:

flutter pub get

修正或删除不支持的库的代码。

6. 配置项目信息

使用DevEco打开flutter项目下的ohos子项目,在项目设置中,配置由AppGallery Connect生成的证书和Profile,并在app.json5中配置包名、应用名称和图标。

7. 构建应用包

使用以下指令:

# 构建hap包
flutter build hap release

# 构建app包
flutter build app release

app构建后生成所在目录为:flutter根目录/ohos/build/output/default 会生成hap以及签名和未签名的app包

8. 调试真机应用

调用真机:

# 检测设备
flutter devices

# 调试
flutter run --debug -d <deviceId>

关于原生端未适配库问题

至此Flutter应用就完成了对原生鸿蒙的适配,关于未适配的原生库和自定义原生交互的方式将在后续的帖子再与大家展开讨论


更多关于HarmonyOS鸿蒙Next中flutter应用快速开发至原生方案的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

2 回复

在HarmonyOS鸿蒙Next中,将Flutter应用快速开发至原生方案,可以通过以下步骤实现:

  1. 环境准备:确保已安装Flutter SDK和HarmonyOS开发工具DevEco Studio。配置Flutter环境变量,确保Flutter命令可以在终端中运行。

  2. 创建Flutter项目:使用Flutter命令行工具创建一个新的Flutter项目。例如,运行flutter create my_flutter_app来生成项目结构。

  3. 集成HarmonyOS支持:在Flutter项目中,添加HarmonyOS平台支持。可以通过运行flutter create --platforms=harmonyos .来添加HarmonyOS平台。

  4. 配置项目:在pubspec.yaml文件中,添加HarmonyOS相关依赖。确保Flutter项目能够调用HarmonyOS的原生API。

  5. 编写代码:在Flutter项目中,使用Dart语言编写业务逻辑。对于需要调用HarmonyOS原生功能的部分,可以通过Flutter的Platform Channels与HarmonyOS原生代码进行通信。

  6. 构建和运行:使用DevEco Studio打开Flutter项目,配置HarmonyOS设备或模拟器。运行flutter run命令,将应用部署到HarmonyOS设备上进行测试。

  7. 调试和优化:在DevEco Studio中使用调试工具,检查应用在HarmonyOS上的运行情况。根据需要进行性能优化和问题修复。

  8. 打包发布:完成开发和测试后,使用DevEco Studio的打包工具,将Flutter应用打包为HarmonyOS应用包(HAP),并发布到应用市场。

通过以上步骤,可以快速将Flutter应用开发至HarmonyOS原生方案,充分利用Flutter的跨平台能力和HarmonyOS的原生特性。

更多关于HarmonyOS鸿蒙Next中flutter应用快速开发至原生方案的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS鸿蒙Next中,将Flutter应用快速开发至原生方案,可以通过以下步骤实现:

  1. 环境配置:确保已安装Flutter SDK和HarmonyOS开发工具(如DevEco Studio)。
  2. 创建Flutter项目:使用flutter create命令创建Flutter项目。
  3. 集成鸿蒙支持:通过flutter_harmony插件或手动配置,将Flutter项目与鸿蒙平台集成。
  4. 原生代码调用:使用MethodChannelEventChannel实现Flutter与鸿蒙原生代码的通信。
  5. UI适配:根据鸿蒙的设计规范,调整Flutter应用的UI布局和交互。
  6. 调试与测试:使用DevEco Studio进行调试,确保应用在鸿蒙设备上运行稳定。
  7. 打包发布:通过DevEco Studio将应用打包为HAP文件,发布至鸿蒙应用市场。

通过这些步骤,可以高效地将Flutter应用迁移至鸿蒙平台,并充分利用原生功能。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!