Flutter鸿蒙化(windows)
- 参考资料
- Window配置Flutter的鸿蒙化环境
- 下载
- 配置环境变量
- HarmonyOS的环境变量配置
- 配置Flutter的环境变量
- Flutter doctor -v 检测的问题
- flutter_flutter仓库地址的警告问题
- Fliutter doctor –v 报错[!] Android Studio (version 2024.1)✗ Unable to find bundled Java version.
- Windows上配置环境问题
- Hvigor Error : BUILD unable to find “DEVECO_SDK_HOME” in the environment path
- Hvigor depends on the npmrc file configure the npmrc file
- 404 GET https://registry.npm.js.org/xxxx not found
- 云桌面无法检测到真机设备的问题
- 执行flutter build hap xxx 报 java ENOENT
- flutter_flutter配置文档上的SDk的问题
- Flutter鸿蒙化对JDK的版本要求
- Mac上环境配置问题集
- 如何配置hdc的路径
参考资料
Flutter SDK 环境的配置参考相 flutter官网(https://docs.flutter.dev/get-started/install)
Flutter鸿蒙化相关参考文档: https://gitee.com/openharmony-sig/flutter_flutter/tree/dev/
注意: 目前Flutter项目鸿蒙化,FlutterSDK的版本只支持3.7.12, Dart支持的版本是2.19.6
Window配置Flutter的鸿蒙化环境
如果是MAC电脑的话, 直接参考上述参考资料配置环境。
下载
- 首先我们需要下载HarmonyOS的套件,并安装相关的编译工具
- 2、 通过代码工具包下载当前仓库代码 git clone https://gitee.com/openharmony-sig/flutter_flutter.git, 并切换到dev分支
配置环境变量
HarmonyOS的环境变量配置
首先我们需要配置harmonyos中的node、ohpm、hvigor、hdc的环境变量, node、ohpm、hvigor这三个都在DevEco Studio软件安装的tools文件加下, 而hdc则是在sdk\HarmonyOS-NEXT-DB1\openharmony\toolchains 目录下。配置环境变量如下图:
同时我们还需要在系统环境变量中增加 HOS_SDK_HOME 也就是harmonyos的SDK的路径
配置Flutter的环境变量
注意:如果你之前有下载官方的FlutterSDK,那么这里配置的flutter_flutter的环境变量一定要在你自己下载的flutterSDK的环境变量之前(flutter_windows_3.7.12-stable\flutter\bin), 如果顺序发生调换, 你在使用flutter doctor –v检测环境时, 无法出现 HarmonyOS 的环境标志
除上述之外,我们还需在系统环境变量中配置一下几个环境变量:PUB_HOSTED_URL = https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://flutter-ohos.obs.cn-south-1.myhuaweicloud.com
使用Flutter doctor –v
检测环境
环境检测通过示例,如下图:
Flutter doctor -v 检测的问题
flutter_flutter仓库地址的警告问题
解决方案:
在系统变量中增加如下环境变量即可解决
FLUTTER_GIT_URL=https://gitee.com/openharmony-sig/flutter_flutter.git
Fliutter doctor –v 报错[!] Android Studio (version 2024.1)✗ Unable to find bundled Java version.
- 首先进入android studio工具的安装目录
- 目录中没有jre目录, 你需要创建一个jre文件夹
- 然后把jbr目录中的所有内容复制到jre文件中
Windows上配置环境问题
Hvigor Error : BUILD unable to find “DEVECO_SDK_HOME” in the environment path
解决方案:
我们需要再系统环境变量中配置以下这个环境变量:
Hvigor depends on the npmrc file configure the npmrc file
原因: 是没有配置.npmrc文件
解决方案:需要该文件存在C盘当前用户目录(示例:C:\Users\issuser)下创建这个文件, 文件的内容是华为npm仓库的地址
404 GET https://registry.npm.js.org/xxxx not found
解决方案:
需要再.npmrc文件中配置下npm的仓库:
registry=https://repo.huaweicloud.com/repository/npm/
@ohos:registry=https://repo.harmonyos.com/npm/
注意:为什么有的需要配置这个,有的不需要配置,是因为有些库只发布到了https://repo.harmonyos.com/npm/
云桌面无法检测到真机设备的问题
- 首先验证云桌面和本地是否在同一网段,可以在云桌面ping 本机的ip地址
- 可以参考文档,使用hdc远程连接到设备: https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md/#hdc-client%E5%A6%82%E4%BD%95%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AEhdc-server
- 其次本地和云桌面需要配置hdc的环境配置变量
- 注意:Hdc 在sdk的
D:\ProgrameFile\HuaWei\DevEco Studio\sdk\HarmonyOS-NEXT-DB1\openharmony\toolchains
,
D:\ProgrameFile\HuaWei\DevEco Studio:这个示例路劲是指你DevEco Studio的安装包的路径
执行flutter build hap xxx 报 java ENOENT
解决方案:
需要安装openjdk17的环境, 并设置好环境变量, 然后在次执行flutter build指令 即可,Jdk17的安装参考地址
flutter_flutter配置文档上的SDk的问题
这个问题是以前就版本才需要执行的,目前IDE一体化之后就不需要了(IDE 版本5.1.3.300及之后的版本都不在需要执行这个指令。)
Flutter鸿蒙化对JDK的版本要求
- 建议使用JDK的版本是 openjdk17的版本
- 经验证jdk22的版本是会报错
- 至于jdk17以上到22之间的版本, 华为技术回复:
注意:如果需要确切的知道有没有适配, 可能需要找对应的技术人确认
Mac上环境配置问题集
如何配置hdc的路径
- vim ~/.zshrc
- 增加如下export PATH=${PATH}:/Users/用户名/Library/Huawei/Sdk/openharmony/版本/toolchains
- source ~/.zshrc
- hdc version 查看版本如下就可以了