【Flutter for OpenHarmony】开源鸿蒙跨平台训练营DAY2:从零到一,工程创建、多终端运行与Git实战全记录
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
哈喽,我是你们的老朋友Moranbika!昨天咱们把React Native for OpenHarmony的“地基”给打好了,今天就要正式“起高楼”——完成DAY2的核心任务:创建一个真正的跨平台工程,把它在手机、开发板、模拟器上都跑起来,最后用Git把它管好,提交到AtomGit开源仓库。
听起来步骤不少对吧?别怕,我会带你一步步走通,而且重点分享我踩过的那些“坑”和填坑方法。这篇文章不是简单的步骤罗列,而是一次完整的问题解决实录,目标是让你看完后,能独立搞定整个流程,还能应付各种突发状况。
第一部分:万事开头——Git仓库与本地准备
在写第一行代码之前,我们得先给代码安个“家”。训练营要求使用AtomGit,这步做好了,后续的代码管理会非常顺畅。
1. 创建你的远程“保险柜”(AtomGit仓库)
首先,去AtomGit官网注册登录。点击“新建仓库”,填上仓库名(比如 my_openhmony_journey),记得选 “公开” 和 MIT License。这里有个关键点:不要勾选“使用README初始化”。为什么?因为我们接下来要用命令行完整走一遍流程,这样你对Git的理解会更深刻。
创建成功后,复制好你的仓库HTTPS地址,格式像这样:https://atomgit.com/YourName/my_openhmony_journey.git。
2. 本地“工作台”初始化(Git配置)
打开你的VScode,找一个合适的目录作为你的项目大本营(比如 D:/HarmonyOS_Projects)。在VScode的集成终端里,我们开始操作:
bash
# 1. 把这个目录变成一个Git能管理的仓库
git init
# 2. 告诉本地仓库,你的远程“保险柜”地址在哪
git remote add origin https://atomgit.com/YourName/my_openhmony_journey.git
# 3. 设置你的身份标识,这样每次提交代码都知道是谁干的
git config user.name "Moranbika"
git config user.email "your_real_email@example.com"
🚨 我遇到的第一个坑:网络连接与认证失败
当你第一次执行 git push(推代码)时,可能会因为网络问题或认证失败而卡住。错误信息可能五花八门,比如 Failed to connect to... 或者要求反复输入密码。
我的解决方案:
-
方案A(推荐):使用SSH密钥认证。一劳永逸,安全又不用输密码。在AtomGit个人设置里添加SSH公钥,然后把远程仓库地址改为SSH格式(如
git@atomgit.com:YourName/my_openhmony_journey.git)。 -
方案B:配置Git代理。如果你使用了网络加速工具(端口通常是7890),可以在终端里设置:
bash
git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890
第二部分:核心工程创建与关键配置解读
接下来,我们用DevEco Studio来创建工程。这里每一步的选择都影响着后续能否顺利跨平台运行。
1. 启动与模板选择
打开DevEco Studio,点击 Create Project。在琳琅满目的模板里,我们选择 Empty Ability。为什么不选其他的?因为这个模板最干净,干扰最少,适合我们从头开始学习架构。
2. 工程配置:决定命运的几分钟
这个配置页面是重中之重,我在这里栽过跟头。
-
Project Type:确保是
Application。 -
Compile SDK & Compatible SDK:这是最大的坑点! 我一开始图省事用了默认的API 11,结果在DAYU200开发板上死活跑不起来,报错提示版本不兼容。后来在社区扒了很久帖子才发现,为了获得最好的设备兼容性(尤其是针对开发板),目前建议统一选择
API 9。这个版本在真机、开发板和模拟器上都有最好的支持。 -
Enable Super Visual:这个选项是给低代码拖拽式开发用的。我们是要写代码的“硬核”玩家,所以取消勾选它。
-
工程存储位置:注意浏览到你的Git仓库目录(
D:/HarmonyOS_Projects/my_openhmony_journey),DevEco会自动在下面创建harmony等子目录。
点击 Finish,等它初始化完成。你的第一个OpenHarmony工程就诞生了!
3. 理解关键文件:build-profile.json5
工程创建好后,别急着运行。先打开 entry > build-profile.json5 这个文件。找到 "runtimeOS" 这一项,确保它里面包含了 "HarmonyOS"。这行配置告诉系统:我这个应用是要跑在HarmonyOS上的,是跨平台能力的基础声明。
第三部分:挑战多终端运行——真机、开发板、模拟器
让应用在不同设备上跑起来,是检验工程是否健康的唯一标准。
1. 真机运行(HarmonyOS手机)
-
前提:手机开启“开发者模式”和“USB调试”。在华为开发者联盟后台申请好调试证书(.p12或.cer文件)。
-
配置签名:在DevEco Studio的
File > Project Structure里,配置你的签名信息。然后在Modules里为entry模块应用这个签名。 -
连接与运行:用USB线连接电脑和手机。在顶部设备下拉菜单中,选择你的手机型号,点击绿色的运行按钮。
-
可能遇到的坑:提示“安装失败”或“证书无效”。
-
排查:检查USB连接是否稳定;确认电脑已安装手机驱动;核对开发者后台申请证书时填写的包名是否与工程
module.json5中的bundleName完全一致,一个字母都不能错。
-
2. 开发板运行(以DAYU200为例)
这是最具挑战性的一环,也是最能体现“开源鸿蒙”特色的部分。
-
准备:确保DAYU200已烧写与API 9兼容的系统镜像,并通过网线或Wi-Fi与电脑处于同一局域网。
-
远程连接:在DevEco Studio的
Tools > Device Manager中,选择Remote Device,点击Login,输入开发板的IP地址。 -
🚨 我遇到的核心坑:hdc连接失败
连接时很可能提示connect to hdc failed。这是因为开发板上的hdc调试服务没起来或端口冲突。-
终极解决方案:
-
通过串口或SSH登录到开发板的命令行。
-
依次执行两条命令:
bash
hdc_std kill hdc_std start -r -
回到DevEco Studio重试连接。这个过程你可能需要重复几次。
-
-
3. 模拟器运行
这是最简单的验证方式。在 Device Manager 里下载一个Phone类型的本地镜像并启动。模拟器启动后,直接在设备列表里选中它并运行即可。它非常适合前期快速的UI和基础功能测试。
第四部分:代码提交的“艺术”与规范化
工程跑通了,我们要把这份成果安全地存到“保险柜”里,并让别人也能看懂、能使用。
1. 创建 .gitignore 文件
在工程根目录(和 harmony 文件夹同级)创建一个名为 .gitignore 的文件。它的作用是告诉Git哪些文件不需要上传。千万不要漏掉这个文件,否则你会把大量无用的构建缓存、本地配置传上去,仓库会臃肿不堪。
gitignore
# 构建目录和IDE配置
.idea/
.gradle/
build/
harmony/.cxx/
harmony/build/
node_modules/
*.log
local.properties
# 系统文件
.DS_Store
Thumbs.db
2. 撰写合格的 README.md
一个清晰的README是你的项目名片。在根目录创建 README.md 文件,用Markdown语法写:
markdown
# 开源鸿蒙跨平台训练营 DAY2 示例工程
## 项目概述
这是一个基于 OpenHarmony 和 React Native 技术栈的跨平台入门示例,完成了开发环境搭建与多终端运行验证。
## 运行验证
- **设备1**:华为 HarmonyOS 4.0 手机
- **设备2**:拓维信息 Niobe(DAYU200)开发板
- **设备3**:DevEco Studio Phone 模拟器 (API 9)
## 关键步骤记录
1. Git仓库初始化与远程关联。
2. 使用DevEco Studio创建Empty Ability工程(Compile SDK: API 9)。
3. 配置应用签名并在真机运行。
4. 通过远程连接调试DAYU200开发板。
5. 提交完整工程代码至AtomGit。
## 问题与解决
- 开发板连接失败:通过命令行重启开发板上的 `hdc` 服务解决。
- Git推送超时:配置SSH密钥替代HTTPS认证。
3. 规范的提交操作
最后,让我们把劳动成果一次性推送到远程仓库。
bash
# 1. 将所有新增和变动的文件加入暂存区
git add .
# 2. 创建一个带有描述性的提交(Commit)
git commit -m "feat: 完成开源鸿蒙跨平台工程创建与多终端运行验证
- 创建基于Empty Ability的HarmonyOS工程,Compile SDK设置为API 9
- 成功在HarmonyOS真机、DAYU200开发板及本地模拟器上完成运行调试
- 添加项目说明文件README.md与.gitignore配置
- 记录开发板hdc连接失败及解决方案"
# 3. 将本地主分支推送到远程仓库,并建立追踪关系
git branch -M main
git push -u origin main
关于Commit Message的学问:我使用了 feat: 前缀表示这是一个新功能提交。清晰的分行描述能让你的提交历史像日记一样可读,这对团队协作和个人回溯都非常有帮助。
DAY2 总结与心得
恭喜你!走完DAY2,你已经不是一个单纯的环境搭建者了,而是一个真正让代码在多种开源鸿蒙设备上跑起来的“交付工程师”。我们不仅完成了操作,更重要的是:
-
建立了版本控制意识:从项目一开始就用Git管理,这是专业开发的起点。
-
掌握了多端调试能力:真机、开发板、模拟器,三端验证的思想是保障跨平台应用质量的关键。
-
树立了问题解决思维:面对hdc连接、签名失败等问题,我们不是放弃,而是学会了搜索日志、查询社区、动手尝试解决。
这个过程或许磕磕绊绊,但每一个坑都让你对系统底层的理解加深了一分。接下来的DAY3,我们将为这个“骨架”工程注入“血液”——网络请求能力,让它能展示动态数据。我们下次见
更多推荐



所有评论(0)