在我司项目的鸿蒙化开发中,我们选择了 Flutter 作为开发方案。受限于「社区」版本的限制,目前使用的是基于 Flutter 3.7 的版本。这导致许多纯 Dart 插件没办法升级到最新版本,在一定程度上制约了开发进度。
昨天看到 Gitee 上基于 Flutter 3.22 的新仓库,我尝试配置了一下环境,相比于今年5月份首次配置环境,整个过程很是丝滑的。
仓库地址:鸿蒙突击队/flutter
分支:oh-3.22.0
配置环境变量
首次配置,可以参考项目 Readme 进行配置,完成基本的Harmony环境变量,flutter环境变量配置即可。目前版本,flutter engine 默认使用远端引擎,一般可以跳过 Readme 指引中的第3,4这两步。配置完成后查看flutter版本:
❯ flutter --version
Flutter 3.22.0-ohos • channel oh-3.22.0 •
https://gitee.com/harmonycommando_flutter/flutter
Framework • revision 523e8f652b (19 小时前) • 2024-10-22 08:51:29 +0000
Engine • revision f6344b75dc
Tools • Dart 3.4.0 • DevTools 2.34.1
创建工程
# 创建工程
flutter create --platforms ohos <projectName>
签名运行
-
使用
Deveco Studio打开上述flutter项目中的ohos目录 -
单击
File > Project Structure > Project > Signing Configs界面勾选Automatically generate signature,等待自动签名完成即可,单击OK。 -
查看
build-profile.json5配置信息,配置信息中增加自动签名生成的证书信息。 -
使用
Android Studio或者VSCode打开flutter项目,即可运行到目标设备。可以看到整体运行还是很丝滑的(录屏转GIF有压缩和损失)。
目前已知问题
- 模拟器运行闪退,真机无异常。
- 新建项目默认启用 impeller,旧项目需要在
src/main/resources/rawfile/buildinfo.json5中手动启用 impeller。
最后的话
Flutter 在 HarmonyOS 上的开发体验逐渐稳定,在「社区」解决了外部纹理和线上引擎相关问题,剩下的基本都是一些小问题。希望「社区」早日发布适配 Flutter 3.22 的 Release 版本,提升跨端开发体验~