看了很多教程,都让你下这个下那个整一堆,其实真正有意义的没有多少,这次我要用最精简的篇幅告诉你怎么做。
环境配置
首先你要加入ohos支持就需要配置ohpm开发环境,详细教程可以看鸿蒙环境搭建:鸿蒙版Flutter环境搭建指导
具体而言就是:
-
访问鸿蒙开发套件官方下载地址下DevEco Studio开发工具,及其依赖环境(包括java配置,目前而言鸿蒙签名工具基于 Gradle 7.1 编译构建(需要jdk11)而ohsdkmgr必须jdk17+因此如果没有的话需要先安装)
下载完成后打开验证一下是否能够构建项目,可以下载对应的api(目前最新的是api12),后面会使用到他的签名功能和模拟器(如果需要的话) -
下载由OpenHarmony SIG组织适配过后的flutte
我们可以直接使用指令clone到本地
git clone https://gitee.com/openharmony-sig/flutter_flutter.git
根据其他大佬的说法,如果你恰好有fvm,可以把拉下来的flutter_flutter项目放到fvm里面管理,也就是把鸿蒙支持的Flutter版本代码git clone到fvm管理目录的versions文件夹下,并flutter_flutter改名为3.7.12-ohos,这样就可以直接使用fvm global 3.7.12-ohos 命令在切换本地不同的Flutter版本了
- 然后就需要配置一下环境变量了,像是mac的环境我们就可以在
.zshrc中添加下面语句
# 国内镜像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
# 拉取下来的flutter_flutter/bin目录
export PATH=/home/<user>/ohos/flutter_flutter/bin:$PATH
# HamonyOS SDK
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境
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
# 添加ohpm的环境变量
export OHPM_HOME=/Applications/DevEco-Studio.app/Contents/tools/ohpm #ohpm路径,一般在/Applications/DevEco-Studio.app/Contents/tools/ohpm中
export PATH=${OHPM_HOME}/bin:${PATH}
然后刷新
source ~/.zshrc
- 然后检查,执行
flutter doctor -v,如果正确执行应该会看到
[✓] HarmonyOS toolchain - develop for HarmonyOS devices
• OpenHarmony Sdk at /Applications/DevEco-Studio.app/Contents/sdk, available api versions has [12:default]
• Ohpm version 5.0.8-rc.1
• Node version v18.20.1
• Hvigorw binary at /Applications/DevEco Studio.app/Contents/tools/hvigor/bin/hvigorw
- 此时就可以创建或者适配flutter项目了,无论是新建还是添加支持,我们都需要在一个空文件夹中新建一个同名项目
flutter create --platforms ohos,ios,android huawei_test
如果是新建项目从这一步开始就可以开始你的开发了,但是如果是新增支持的项目你就需要把其中ohos文件夹复制到你原项目根目录下,然后执行
flutter run
如果你链接的是鸿蒙设备,现在就可以正常运行了,如果不是,我们还可以通过
flutter build hap --release
指令来强行生成hap包
注意
值得注意的是,直到目前(本文撰写时)该项目支持的flutter版本仍然为3.7.12,因此针对部分项目可能需要降级处理。