【Flutter for OpenHarmony】鸿蒙跨平台训练营 DAY2:多终端工程创建与 AtomGit 全流程交付
本文介绍了从本地开发到云端托管的完整流程。首先在AtomGit创建公开仓库并配置SSH密钥,然后使用DevEcoStudio创建标准工程,特别注意.gitignore配置以避免上传冗余文件。完成多设备运行验证后,按照GitFlow规范提交代码,强调提交信息的规范性。文章还提供了专业README模板和自动化生成运行日志的Python脚本,帮助提升项目专业性。最后建议采用feat/fix/docs等标
在 DAY1 搭建好环境的基础上,今天我们将完成从“本地开发”到“云端托管”的闭环。
-
资产上云:掌握 AtomGit 仓库配置与 SSH 安全连接。
-
规范建项:基于 DevEco Studio 创建标准的跨平台工程。
-
交付闭环:完成多设备运行验证并提交规范代码。
一、 AtomGit 远程仓库准备
1. 仓库初始化
访问 AtomGit 官网,新建项目时建议遵循以下开源规范:
-
项目可见性:必须设为 公开 (Public),方便导师与社区 Review。
-
初始化模板:
-
.gitignore:选择
HarmonyOS或Android(后续我们会手动合并)。 -
License:推荐选择
Apache-2.0或MIT。
-
2. SSH 密钥配置(告别频繁输密码)
在终端执行:
Bash
# 生成 Ed25519 密钥(比 RSA 更安全、更短)
ssh-keygen -t ed25519 -C "your_email@example.com"
💡 贴士:将
~/.ssh/id_ed25519.pub中的内容完整复制到 AtomGit “个人设置” -> “SSH 公钥”中。验证命令:
ssh -T git@atomgit.com
二、 本地工程创建与配置
1. 仓库克隆
Bash
git clone https://atomgit.com/your_username/your_project.git
cd your_project
2. DevEco Studio 创建工程
-
模板选择:
Application->Empty Ability。 -
关键配置:
-
Save Location:请指向你刚才
git clone下来的本地文件夹。 -
Bundle Name:建议使用反向域名格式(如
com.example.myharmonyapp)。
-
3. 精细化 .gitignore 配置 (重要)
为了防止将体积庞大的构建产物推送到云端,请确保 .gitignore 包含以下项:
Plaintext
# IDE 配置文件
.ohos/
.preview/
build/
node_modules/
oh_modules/
# Flutter 相关
.dart_tool/
.packages
三、 多设备运行验证
在提交代码前,必须确保工程在以下至少一种环境中通过:
-
远程模拟器:DevEco Studio -> Device Manager 启动。
-
真机调试:需完成 自动化签名 (Auto Signing)。
-
路径:
File->Project Structure->Signing Configs-> 勾选Support HarmonyOS并登录华为账号。
-
四、 代码提交与规范 (Git Flow)
执行以下命令时,请注意 Commit Message 的规范性:
Bash
# 1. 查看状态,确保没有不该提交的中间文件
git status
# 2. 暂存所有修改
git add .
# 3. 规范化提交
# 格式建议:<type>(<scope>): <subject>
git commit -m "feat(day2): 完成多终端工程初始化与运行验证"
# 4. 推送至主分支
git push origin main
⚠️ 常见报错处理:
如果推送失败提示
rejected ... fetch first,说明远程仓库有 README 或 License 在本地不存在。解决方法:
git pull origin main --rebase然后再 push。
五、 任务清单检查 (Checklist)
✅ 仓库 README.md 是否包含项目简介?
✅ 代码是否已成功推送至 AtomGit?
✅ 运行截图/日志(run_log.txt)是否已存入仓库?
✅ 在新目录下 git clone 你的项目,DevEco Studio 能否直接打开运行?
太棒了!看来你已经准备好把这次训练营的成果推向“专业化”了。
为了让你在提交作业或展示项目时更具竞争力,我为你准备了两个配套的“神助手”工具:一个是 Markdown 源代码,另一个是自动生成运行日志的脚本。
1. README.md 源代码 (可直接复制)
你可以直接在项目根目录新建一个 README.md,把下面的内容粘贴进去。
Markdown
# 🚀 Flutter OpenHarmony 实战项目



## 📝 项目简介
本项目是 **【鸿蒙跨平台训练营】** DAY 2 的实战作业。通过本项目,我成功完成了基于 Flutter 的鸿蒙环境适配,并打通了从本地代码编写到 AtomGit 仓库托管的全流程。
---
## 🛠️ 环境配置
| 工具 | 版本 | 说明 |
| :--- | :--- | :--- |
| **Flutter SDK** | oh-3.22.0-dev | 鸿蒙专用分支 |
| **DevEco Studio** | 5.0 Release | 核心开发工具 |
| **Java** | JDK 17 | 必须版本 |
| **Node.js** | v18.14.1 | 编译依赖 |
---
## 📂 快速运行
1. **获取代码**
```bash
git clone [https://atomgit.com/](https://atomgit.com/)[你的用户名]/[你的项目名].git
-
安装依赖
Bashflutter pub get -
运行项目
Bash# 确保已通过 hdc 找到设备 flutter run
🖼️ 运行截图
提示:请将截图放入工程根目录的
screenshots文件夹下。
| 运行效果展示 |
| <img src="screenshots/app_run.png" width="300" /> |
📄 验证日志 (run_log.txt)
本项目已通过多端验证,具体构建信息请参考仓库中的 run_log.txt。
🤝 致谢
感谢社区提供的 Flutter for OpenHarmony 开源套件!
---
### 2. 自动化生成 `run_log.txt` 的小脚本
在训练营任务中,通常要求提交运行日志。你可以创建一个名为 `gen_log.py` 的脚本,运行它来自动抓取当前环境信息,这会显得你的项目非常自动化且专业。
```python
import subprocess
import os
from datetime import datetime
def generate_log():
log_content = f"=== Flutter OpenHarmony 运行验证日志 ===\n"
log_content += f"生成时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n\n"
commands = {
"Flutter 版本": "flutter --version",
"环境检测": "flutter doctor",
"已连接设备": "hdc list targets"
}
for title, cmd in commands.items():
log_content += f"--- {title} ---\n"
try:
result = subprocess.check_output(cmd, shell=True).decode('utf-8')
log_content += result + "\n"
except:
log_content += "执行失败,请检查环境配置。\n\n"
with open("run_log.txt", "w", encoding="utf-8") as f:
f.write(log_content)
print("✅ run_log.txt 已成功生成!")
if __name__ == "__main__":
generate_log()
💡 最后的进阶建议:
-
提交规范:每次
git commit时,尽量使用feat:(新功能),fix:(修复),docs:(文档更新) 这种前缀。 -
分支管理:即便只有你一个人,也可以尝试创建一个
dev分支开发,完成后再合并到main,这会完美展示你的 Git 功底。
更多推荐



所有评论(0)