概要
需求场景:当前 APP 已有三端需要开发维护:鸿蒙、安卓、苹果,每次新增功能都需要三端同步开发,成本太高。 解决方案:新增功能使用 Flutter 开发,然后作为子模块被依赖到原来的工程中,实现三端复用。
一。开发工具与 SDK 下载安装
1. 工具安装
| 名称 | 版本 |
|---|
鸿蒙 HarmonyOS 与 Flutter 混合开发环境配置指南。涵盖 DevEco Studio、VS Code、JDK 及 Flutter SDK 的下载安装,系统环境变量 Path 及自定义变量的配置方法,以及通过创建 Flutter 项目验证环境并运行至真机的完整流程。重点解决多端复用场景下的基础环境搭建问题,确保 Flutter 与 HarmonyOS 插件正常识别。
需求场景:当前 APP 已有三端需要开发维护:鸿蒙、安卓、苹果,每次新增功能都需要三端同步开发,成本太高。 解决方案:新增功能使用 Flutter 开发,然后作为子模块被依赖到原来的工程中,实现三端复用。
| 名称 | 版本 |
|---|
| 下载地址 |
|---|
| DevEco Studio | 6.0.2 Beta1 | https://developer.huawei.com/consumer/cn/download/ |
| VS Code | 1.108.1 | https://code.visualstudio.com/ |
| JDK | 17.0.12 | https://download.oracle.com/java/17/archive/jdk-17.0.12_windows-x64_bin.exe |
上述工具直接下载安装即可,建议记录 DevEco Studio 和 JDK 的安装路径,以便后续配置环境变量。示例路径如下: D:\Program Files\Huawei\DevEco Studio D:\Program Files\Java
使用 GIT 命令克隆 oh-3.27.4-dev 分支到本地,该路径也是配置环境变量要用的。示例本地路径为: D:\flutter_flutter
git clone -b oh-3.27.4-dev https://gitcode.com/openharmony-tpc/flutter_flutter.git
总共新增了 5 项,需根据实际路径进行配置: D:\flutter_flutter\bin D:\Program Files\Java\jdk-17\bin D:\Program Files\Huawei\DevEco Studio\tools\ohpm\bin D:\Program Files\Huawei\DevEco Studio\tools\hvigor\bin D:\Program Files\Huawei\DevEco Studio\tools\node

总共新建了 4 个变量,需根据实际路径进行配置:
| 变量名 | 变量值 |
|---|---|
| DEVECO_SDK_HOME | D:\Program Files\Huawei\DevEco Studio\sdk |
| FLUTTER_STORAGE_BASE_URL | https://storage.flutter-io.cn |
| PUB_CACHE | D:/PUB |
| PUB_HOSTED_URL | https://pub.flutter-io.cn |

运行命令:flutter doctor -v
在结果中看到 Flutter 和 HarmonyOS 部分没有出现 ❌ 即表示环境配置成功,如果出现 ❌,查看对应的环境变量是否有正确配置。
注意:环境变量修改前,若已打开 cmd,那么在修改后,必须重开 cmd,否则获取不到修改后的环境,进而导致命令执行出错。

这里创建的 Flutter 项目,主要是为了进一步验证开发环境是否配置成功。
运行命令创建项目:flutter create --platforms ohos flutter_demo
VS Code 需要安装插件:Flutter,安装时会自动安装另一个插件:Dart,因为 Flutter 插件依赖于 Dart 插件。 另外,推荐安装插件:Awesome Flutter Snippets,可以生成 widget 代码。

用 VS Code 打开项目后,右下角会显示当前连接的设备,点击后可以选择其他设备,此处连接的是真机,如果启动了鸿蒙的模拟器,这里也会显示出来。

连接设备后,打开项目中的 main.dart,点击 Run 运行。 首次运行将自动下载必要工具包,接着控制台输出错误信息:

根据错误提示信息,用 DevEco Studio 打开 flutter_demo 项目下的 ohos 工程,配置好调试签名后,回到 VS Code,再次点击 main.dart 中的 Run 运行项目,运行成功。

设备端显示对应页面,表明当前开发环境配置成功。


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online