最精简教程——如何在flutter加入ohos支持(新建flutter项目或者旧flutter项目加入支持都可以)

1,682 阅读3分钟

看了很多教程,都让你下这个下那个整一堆,其实真正有意义的没有多少,这次我要用最精简的篇幅告诉你怎么做。

环境配置

首先你要加入ohos支持就需要配置ohpm开发环境,详细教程可以看鸿蒙环境搭建:鸿蒙版Flutter环境搭建指导

具体而言就是:

  1. 访问鸿蒙开发套件官方下载地址下DevEco Studio开发工具,及其依赖环境(包括java配置,目前而言鸿蒙签名工具基于 Gradle 7.1 编译构建(需要jdk11)而ohsdkmgr必须jdk17+因此如果没有的话需要先安装)
    下载完成后打开验证一下是否能够构建项目,可以下载对应的api(目前最新的是api12),后面会使用到他的签名功能和模拟器(如果需要的话)

  2. 下载由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版本了

  1. 然后就需要配置一下环境变量了,像是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
  1. 然后检查,执行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
  1. 此时就可以创建或者适配flutter项目了,无论是新建还是添加支持,我们都需要在一个空文件夹中新建一个同名项目
flutter create --platforms ohos,ios,android huawei_test

如果是新建项目从这一步开始就可以开始你的开发了,但是如果是新增支持的项目你就需要把其中ohos文件夹复制到你原项目根目录下,然后执行

flutter run

如果你链接的是鸿蒙设备,现在就可以正常运行了,如果不是,我们还可以通过

flutter build hap --release

指令来强行生成hap包

注意

值得注意的是,直到目前(本文撰写时)该项目支持的flutter版本仍然为3.7.12,因此针对部分项目可能需要降级处理。