【开源鸿蒙Flutter跨平台开发学习笔记】day1~2:从环境搭建到git仓库代码提交
作为开源鸿蒙训练营的学员,Day1 到 Day2 的学习让我完成了从0 到 1的跨越 —— 从 DevEco Studio 环境搭建,到多端工程创建、编译运行,再到代码提交至 AtomGit 仓库。这两天并非一帆风顺,遇到了不少典型问题,现将踩坑过程与深度优化方案整理成笔记,希望能给同阶段的开发者提供参考。
📚 目录
🎯 Day1:环境搭建与基础认知
核心任务拆解
典型问题与深度解决方案
1.Node版本过高
2.Java版本过高
3.hvigor文件缺失
效果验证与思考
🎯 Day2:多端工程开发与 Git 全流程
核心任务拆解
典型问题与深度解决方案
效果验证与思考
💡 训练营收获与进阶方向
📝前言
作为开源鸿蒙训练营的学员,Day1 到 Day2 的学习让我完成了从0 到 1的跨越 —— 从 DevEco Studio 环境搭建,到多端工程创建、编译运行,再到代码提交至 AtomGit 仓库。这两天并非一帆风顺,遇到了不少典型问题,现将踩坑过程与深度优化方案整理成笔记,希望能给同阶段的开发者提供参考。
🎯 Day1:环境搭建与基础认知
一、 核心任务拆解
Day1 的核心目标是完成DevEco Studio 一站式开发环境搭建,包括:
1、完成技术栈开发环境、
2、DevEco Studio一站式鸿蒙开发工具、
3、开源鸿蒙SDK按需下载、
4、环境变量配置、
5、多设备调试驱动安装等全流程操作,
6、确保真机,或开源鸿蒙开发板,模拟器三类终端的开发调试。
注:具体环境搭建步骤可以参考下面两篇
https://blog.csdn.net/qq_74796274/article/details/155064027?spm=1001.2014.3001.5502
https://blog.csdn.net/2301_80035882/article/details/155001657?spm=1001.2014.3001.5501
二、典型问题与深度解决方案
🔍 问题 1:Node.js版本过高导致兼容问题
解决方案:
一、Windows 系统操作步骤
1. 打开环境变量设置界面
2. 选中「Path」后点击「编辑」,会看到所有路径列表:
- 找到所有包含「node」「Node.js」的路径(比如 C:\Program Files\nodejs\ 这类),只保留包含「DevEco」的那条
(通常路径类似 C:\DevEco Studio\tools\node\);
选中多余的 Node 路径,点击「删除」,确认只保留 DevEco 相关的路径。
点击「确定」保存所有修改(需要逐层点击确定,确保修改生效)。

5. 关闭所有已打开的命令行 / 终端 / VSCode/DevEco Studio(必须重启,环境变量修改才会生效);
重新打开命令提示符(CMD),输入 node -v,回车后查看版本号:
node -v
如果显示的是 DevEco 适配的版本(而非你之前的高版本),说明配置成功。
二、macOS/Linux 系统操作步骤
- 编辑环境变量配置文件
打开终端(Terminal),根据你的 Shell 类型选择配置文件:
zsh(主流):输入 open ~/.zshrc;
bash:输入 open ~/.bash_profile 或 open ~/.bashrc。
如果文件不存在,可通过 touch ~/.zshrc 先创建。 - 清理 Node 路径并保留 DevEco 的
在打开的配置文件中,查找所有和 Node 相关的配置行:
删掉类似 export PATH=“PATH:/usr/local/bin/node” 或 Node 安装目录的路径;
只保留 DevEco 的 Node 路径(macOS 下通常是 export PATH=“/Applications/DevEco Studio.app/Contents/tools/node:$PATH”);
保存文件并关闭编辑器。 - 生效配置并验证
在终端输入 source ~/.zshrc(或对应配置文件,比如 source ~/.bash_profile);
输入 node -v,查看版本是否为 DevEco 适配的版本,确认无高版本 Node 路径干扰。
🔍 问题 2:Java版本过高(推荐Java17)
Java 版本过高(DevEco / 鸿蒙构建对 Java 版本有严格限制)
DevEco Studio 默认自带适配的 JDK,需优先使用DevEco 自带的 Java 环境。
步骤 1:清理系统 Java 环境变量
打开「环境变量」(右键此电脑→属性→高级系统设置→环境变量);
在「系统变量」中:找到JAVA_HOME变量:若存在,直接删除(避免系统优先使用高版本 Java);
编辑Path变量:删除所有包含java/jdk的路径(如C:\Program Files\Java\jdkXXX\bin),仅保留 DevEco 自带 JDK 的路径;
(通常是你的DevEco安装目录\jdk\bin,比如D:\HarmonyOS\DevEco Studio\jdk\bin);
点击「确定」保存,重启所有终端 / 开发工具。
步骤 2:验证 Java 版本
打开命令提示符(cmd)输入:java -version
java -version
若显示的是 DevEco 自带的版本,则配置生效。
🔍问题 3:Flutter 分支中 hvigor 被删除(hvigor 是鸿蒙构建的核心工具)
hvigor 是鸿蒙构建的必要工具,需从 Flutter 鸿蒙分支恢复或重新配置:
步骤 1:确认 Flutter 鸿蒙分支的完整性
进入你的 Flutter 安装目录(比如D:\Flutter\flutter_flutter);
执行以下命令,拉取最新的鸿蒙分支代码(恢复被删除的 hvigor 相关文件):
# 切换到鸿蒙分支
git checkout 3.27.5-ohos-1.0.1
# 拉取最新代码(恢复缺失的文件)
git pull origin 3.27.5-ohos-1.0.1
步骤 2:恢复项目中的 hvigor 依赖
进入你的 Flutter 项目根目录(D:\FlutterProject\flutter_harmonyos);
执行以下命令,重新初始化 hvigor 配置:
# 进入鸿蒙模块目录
cd ohos
# 删除旧的hvigor缓存
rm -rf .hvigor
# 重新下载hvigor工具及依赖
hvigorw --init
# 安装ohpm依赖(确保hvigor关联的包被恢复)
ohpm install
步骤 3:验证 hvigor 是否恢复
在项目的ohos目录下,检查是否存在hvigorfile.ts文件,且执行:
hvigorw -v
注:如果仍提示 hvigor 缺失,可尝试重新创建 Flutter 鸿蒙项目(flutter create --template=app --platforms=ohos 新项目名),将旧项目的业务代码迁移到新项目中(新项目会自动包含完整的 hvigor 配置)。
三、效果验证与思考
✅ 效果验证:DevEco Studio 主界面正常加载,模拟器成功启动并显示鸿蒙系统桌面。
💡 思考:开源鸿蒙跨平台开发学习,核心是生态适配与版本管控。
其一,版本匹配是根基,鸿蒙 AGP、Gradle、JDK 及 Node 需严格对应官方规范,避免全局版本过高引发兼容问题,借助 nvm、jenv 等工具实现项目级版本隔离,可大幅减少环境搭建障碍。
其二,需明晰鸿蒙专属工具边界,hvigor 是鸿蒙构建核心,非 Flutter 原生组件,需通过 DevEco Studio 配套安装并初始化配置,缺失则直接阻断鸿蒙端编译。
其三,学习要立足官方文档与模板,区分 Flutter 原生开发与鸿蒙适配差异,优先掌握跨端 API 映射与工程结构规范,才能高效推进开发。
🎯 Day2:多端工程开发与git全流程
一、核心任务拆解
Day2 的核心目标是完成多端工程全链路落地,包括:
1.基于开源鸿蒙模板创建工程,配置模块依赖与权限
2.工程在模拟器、真机(手机 / 平板)、开发板(DAYU200)上编译运行
3.Git 命令与 AtomGit 仓库操作(clone/branch/commit/push)
4.代码规范与开源仓库配置(README、.gitignore)
二、典型问题与深度解决方案
🔍 问题 1:本地 Git 仓库的 main 分支里还没有任何提交记录,或者分支名称不匹配,导致无法推送到远程仓库

🔹 第一步:检查当前分支和提交状态
在终端执行:
git branch
git log
如果 git branch 显示当前是 master 分支,说明本地分支名和远程默认的 main 不匹配。
如果 git log 没有任何输出,说明本地没有任何提交记录。
🔹 第二步:解决分支不匹配或无提交的问题
情况 1:本地是 master 分支,需要推送到远程 main
# 1. 添加所有文件到暂存区
git add .
# 2. 提交代码
git commit -m "项目首次提交:完成鸿蒙跨平台工程配置"
# 3. 将本地 master 分支推送到远程 main 分支
git push -u origin master:main
情况 2:本地是 main 分支但无提交
# 1. 添加所有文件到暂存区
git add .
# 2. 提交代码
git commit -m "项目首次提交:完成鸿蒙跨平台工程配置"
# 3. 推送到远程 main 分支
git push -u origin main
🔹 小提示
执行完 git add . 和 git commit 后,一定要确保有提交记录(终端会显示 1 file changed, … 之类的信息)。
如果还是提示错误,可以先拉取远程仓库的空分支再推送:
git pull origin main --allow-unrelated-histories
git push -u origin main
三、效果验证与思考
✅ 最后一步:验证成果
1.去 GitCode 网页查看
打开你的 GitCode 仓库页面(https://gitcode.com/kissbun/OH-Training),刷新后就能看到你刚才推送的所有代码文件了。

2.验证可复现性(可选但推荐)
在另一台机器或新的文件夹里,执行 git clone <你的仓库地址>,然后尝试编译运行,确认代码可以正常拉取并复现运行效果,这是任务的最终验证标准。
💡 思考:Git 全流程是多端工程协作的核心支撑,核心是隔离开发、管控配置、保障稳定。分支策略需分层设计:main分支存可发布稳定代码,dev分支同步多端基础框架配置,再按 “功能 + 端” 拆分特性分支,避免多端代码冲突。提交需带端标识,格式统一为[端标识] 动作:内容,便于版本追溯。配置管理要精准处理.gitignore,提交hvigor.json、版本锁定文件等核心配置,忽略构建产物。代码合并前必须完成全端编译测试,通过评审后再合并,杜绝单端修改引发多端兼容问题,保障多端工程高效协作。
最后,欢迎加入开源鸿蒙跨平台社区
https://openharmonycrossplatform.csdn.net
更多推荐




所有评论(0)