欢迎加入开源鸿蒙跨平台社区: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 调试服务没起来或端口冲突。

    • 终极解决方案

      1. 通过串口或SSH登录到开发板的命令行。

      2. 依次执行两条命令:

        bash

        hdc_std kill
        hdc_std start -r

      3. 回到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,你已经不是一个单纯的环境搭建者了,而是一个真正让代码在多种开源鸿蒙设备上跑起来的“交付工程师”。我们不仅完成了操作,更重要的是:

  1. 建立了版本控制意识:从项目一开始就用Git管理,这是专业开发的起点。

  2. 掌握了多端调试能力:真机、开发板、模拟器,三端验证的思想是保障跨平台应用质量的关键。

  3. 树立了问题解决思维:面对hdc连接、签名失败等问题,我们不是放弃,而是学会了搜索日志、查询社区、动手尝试解决。

这个过程或许磕磕绊绊,但每一个坑都让你对系统底层的理解加深了一分。接下来的DAY3,我们将为这个“骨架”工程注入“血液”——网络请求能力,让它能展示动态数据。我们下次见

Logo

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

更多推荐