Flutter / OpenHarmony
Flutter 写鸿蒙
配置教程
按 Windows 新手路径整理:先配工具,再跑 doctor,最后创建项目并构建 HAP。
最终目标
做完后,你应该能完成这三件事:
flutter doctor -v里 Flutter 和 OpenHarmony 相关项没有阻塞错误。- 能执行
flutter create --platforms ohos my_ohos_app创建鸿蒙项目。 - 能执行
flutter build hap --release生成entry-default-signed.hap。
1. 准备清单
2. 配置 JDK 17 和 DevEco SDK
2.1 检查 JDK
java -version
javac -version
输出里应该能看到 17。如果看到 1.8、11 或找不到命令,先修 JAVA_HOME 和 Path。
2.2 找到 DevEco Studio 工具目录
假设 DevEco 安装在下面这个位置:
D:\devecostudio-windows\DevEco Studio
这个目录下通常会有 sdk、tools\ohpm\bin、tools\hvigor\bin、tools\node。实际路径以你的电脑为准。
3. 配置环境变量
先在 PowerShell 临时配置并验证,确认没问题再写入系统环境变量。
$env:JAVA_HOME="D:\Java\jdk-17"
$env:TOOL_HOME="D:\devecostudio-windows\DevEco Studio"
$env:DEVECO_SDK_HOME="$env:TOOL_HOME\sdk"
$env:PATH="$env:JAVA_HOME\bin;$env:TOOL_HOME\tools\ohpm\bin;$env:TOOL_HOME\tools\hvigor\bin;$env:TOOL_HOME\tools\node;$env:TOOL_HOME\sdk\default\openharmony\toolchains;$env:PATH"
java -version
node -v
ohpm -v
hvigor -v
hdc -v
上面命令都能输出版本后,再把这些路径追加到 Windows 系统环境变量。注意是追加,不是把原来的 Path 全删掉。
3.1 国内镜像和缓存目录
$env:PUB_HOSTED_URL="https://pub.flutter-io.cn"
$env:FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"
$env:PUB_CACHE="D:\PUB"
如果后面切换过 FLUTTER_STORAGE_BASE_URL,删除 <flutter>\bin\cache 后再执行 flutter clean 和 flutter pub get。
4. 下载 OpenHarmony 版 Flutter
这里用 OpenHarmony-SIG 的 flutter_flutter 仓库。不要让普通 Flutter SDK 的 bin 排在它前面。
Set-Location D:\ohos-work
git clone https://gitee.com/openharmony-sig/flutter_flutter.git
$env:PATH="D:\ohos-work\flutter_flutter\bin;$env:PATH"
flutter --version
如果你之前装过普通 Flutter,执行下面命令确认当前命令路径:
where.exe flutter
第一行应该指向 D:\ohos-work\flutter_flutter\bin\flutter.bat。如果不是,调整 Path 顺序。
5. 跑 doctor,不通过就先停
flutter doctor -v
不要只看最后一行,要逐项看。至少确认下面几项:
doctor 缺什么就先补什么。不要跳到创建项目,否则错误会变得更难看懂。
6. 创建 Flutter 鸿蒙项目
Set-Location D:\ohos-work
flutter create --platforms ohos my_ohos_app
Set-Location .\my_ohos_app
flutter pub get
创建成功后,项目里应该有 ohos 目录。这个目录就是鸿蒙平台工程。
6.1 先跑 debug
flutter devices
flutter run --debug -d <deviceId>
deviceId 从 flutter devices 输出里复制。没有设备时,先回 DevEco 打开模拟器或连接真机。
7. 构建 HAP 并安装
7.1 Release 构建
Set-Location D:\ohos-work\my_ohos_app
flutter build hap --release
构建产物通常在:
my_ohos_app\ohos\entry\build\default\outputs\default\entry-default-signed.hap
7.2 安装到设备
hdc list targets
hdc -t <deviceId> install ohos\entry\build\default\outputs\default\entry-default-signed.hap
开发阶段也可以直接用:
flutter run --debug -d <deviceId>
8. 常见报错
flutter 不是鸿蒙版
执行 where.exe flutter。第一行不是 flutter_flutter\bin,就调整 Path 顺序。
doctor 找不到 Git
把 Git 的 cmd 目录加入 Path,例如 C:\Program Files\Git\cmd。
hvigor 或 ohpm 找不到
确认 DevEco 的 tools\hvigor\bin 和 tools\ohpm\bin 已加入 Path。
切换镜像后缓存报错
删除 flutter_flutter\bin\cache,项目里执行 flutter clean,再重新 flutter pub get。
Windows 路径报错
项目、依赖插件、缓存放同一磁盘;路径不要太深,不要包含中文或空格。
设备找不到
先用 DevEco 确认设备在线,再用 hdc list targets 和 flutter devices 双重检查。