03. Flutter鸿蒙SDK配置:下载flutter_flutter并配置环境变量

在这里插入图片描述

普通 Flutter SDK 默认不带 OpenHarmony 平台构建能力。开发鸿蒙项目时,需要使用 OpenHarmony SIG 维护的 flutter_flutter 仓库,它在 Flutter Tools 的基础上扩展了 ohos 平台创建、构建、运行和调试能力。

在这里插入图片描述

下载 SDK

在工作区创建 SDK 目录:

cd /d D:\flutter_ohos_workspace
mkdir sdk
cd sdk
git clone https://gitee.com/openharmony-sig/flutter_flutter.git

如果仓库主页提示迁移或镜像地址变化,以项目主页给出的地址为准。克隆完成后目录大致如下:

D:\flutter_ohos_workspace\sdk\flutter_flutter
├─ bin
├─ packages
├─ examples
└─ version

真正需要加入 PATH 的是 bin 目录,不是仓库根目录。

配置 Flutter 环境变量

Windows 系统变量可以这样规划:

PUB_CACHE=D:\flutter_ohos_workspace\pub_cache
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
PATH=D:\flutter_ohos_workspace\sdk\flutter_flutter\bin

PUB_CACHE 用来保存 Dart 依赖缓存,单独放在工作区内便于清理和迁移。两个镜像变量可以提高依赖下载速度。PATH 里必须包含 OpenHarmony 适配版 Flutter 的 bin 目录,否则命令行可能仍然调用系统里其他 Flutter。

配置 OpenHarmony 工具链变量

继续配置 DevEco 相关变量:

TOOL_HOME=D:\DevTools\DevEco Studio
DEVECO_SDK_HOME=%TOOL_HOME%\sdk
PATH=%TOOL_HOME%\tools\ohpm\bin
PATH=%TOOL_HOME%\tools\hvigor\bin
PATH=%TOOL_HOME%\tools\node

TOOL_HOME 指向 DevEco Studio 安装目录,DEVECO_SDK_HOME 指向 SDK 目录。ohpmhvigornode 三个目录都要追加到 PATH。环境变量改完后必须重新打开命令行窗口。

确认当前 flutter 来源

同一台电脑可能安装过多个 Flutter。配置完成后先查命令来源:

where flutter
flutter --version

where flutter 的第一个结果应该指向:

D:\flutter_ohos_workspace\sdk\flutter_flutter\bin\flutter.bat

如果第一个结果是其他目录,说明 PATH 顺序不对。把 flutter_flutter\bin 放到更靠前的位置,再重新打开命令行。

执行 doctor 检查

flutter doctor -v

重点看 Flutter 和 OpenHarmony 两块是否通过。常见问题和处理方式:

现象 处理
找不到 JDK 检查 JAVA_HOMEPATH
找不到 OpenHarmony SDK 检查 DEVECO_SDK_HOME
找不到 ohpm 检查 tools\ohpm\bin
找不到 hvigor 检查 tools\hvigor\bin
依赖下载慢 检查镜像变量和网络

在这里插入图片描述

缓存清理

如果切换了 SDK 版本、镜像地址或分支,缓存可能导致旧产物继续参与构建。可以按下面顺序清理:

flutter clean
flutter pub cache clean

必要时删除:

D:\flutter_ohos_workspace\sdk\flutter_flutter\bin\cache

然后重新执行:

flutter doctor -v
flutter pub get

SDK 分支和缓存的关系

切换 flutter_flutter 分支后,旧缓存可能继续影响构建。比较稳的处理方式是:

cd /d D:\flutter_ohos_workspace\sdk\flutter_flutter
git status
git branch
flutter clean

如果项目依赖也发生变化,再回到项目根目录:

cd /d D:\flutter_ohos_workspace\projects\hello_ohos
flutter pub get
flutter doctor -v

只有 SDK 和项目都处于明确状态,构建错误才容易定位。

镜像地址变化后的处理

如果改过 FLUTTER_STORAGE_BASE_URL,需要关注 bin/cache。缓存里的引擎产物和当前镜像不匹配时,可能会出现 Dart VM 快照版本相关错误。处理顺序:

1. 关闭正在运行的 flutter 命令
2. 删除 flutter_flutter/bin/cache
3. 重新打开命令行
4. 执行 flutter doctor -v
5. 回项目执行 flutter clean 和 flutter pub get

``text

  1. 关闭正在运行的 flutter 命令
  2. 删除 flutter_flutter/bin/cache
  3. 重新打开命令行
  4. 执行 flutter doctor -v
  5. 回项目执行 flutter clean 和 flutter pub get
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐