HarmonyOS 开发初体验:从环境搭建到第一个应用

最近终于入手了一台支持 HarmonyOS 6 的设备,打算认真体验一下鸿蒙开发的全流程。
虽然之前对 HMOS 有所耳闻,但真正上手还是遇到了一些意料之外的坑。
这篇文章记录下从零开始的环境搭建过程,希望能帮助到同样想入坑 HMOS 开发的朋友。

准备工作

开始之前,我们需要准备以下工具:

  • 一台 HarmonyOS 设备(我用的是 HMOS 6 的设备)
  • 一台开发电脑(Mac / Windows / Linux 均可)
  • USB 数据线(用于连接设备和电脑)

环境搭建

1. DevEco Studio 安装

HarmonyOS 的官方 IDE 是 DevEco Studio,基于 IntelliJ IDEA 定制。
可以从华为开发者官网下载安装包。

安装完成后,打开 DevEco Studio,它会自动下载 SDK。这个过程可能需要一些时间,
取决于你的网络环境。需要注意的是,SDK 版本要和你的设备系统版本匹配。

小提示: 如果下载 SDK 速度很慢,可以试试配置国内镜像源。
在 SDK Manager 中修改下载地址为华为云镜像可以显著提升速度。

2. hdc 配置

hdc(HarmonyOS Device Connector)是类似 Android adb 的命令行调试工具。
我用的是独立安装的 hdc 3.0.0b 版本,放在 ~/.hdc/hdc 路径下。

配置环境变量:

# 在 ~/.zshrc 中添加
export PATH="$HOME/.hdc:$PATH"

# 重载配置
source ~/.zshrc

# 验证安装
hdc --version
# → HDC version: 3.0.0b

3. 连接设备

用 USB 数据线连接设备和电脑。在设备上确保开启了"开发者模式"和"USB 调试"。
在我的体验中,HMOS 6 的设备连接非常顺畅:

# 查看设备列表
hdc list targets

# 如果能看到设备信息,说明连接成功
# → [设备序列号]

不过在 HMOS 4.2 的老设备上遇到了问题 —— hdc list targets 返回空列表,
而且不弹出 USB 授权框。目前还在排查原因,推测是 USB 模式或授权缓存的问题。

创建第一个应用

在 DevEco Studio 中,选择 "Create Project",然后选择 "Empty Ability" 模板。
项目创建完成后,默认会生成一个 Hello World 应用。

项目的核心文件结构如下:

MyApplication/
├── entry/
│   ├── src/
│   │   ├── main/
│   │   │   ├── ets/          # 应用代码 (ArkTS)
│   │   │   │   ├── MainAbility/
│   │   │   │   └── pages/
│   │   │   │       └── index.ets
│   │   │   ├── resources/    # 资源文件
│   │   │   └── module.json5  # 模块配置
│   └── build-profile.json5   # 构建配置
├── oh_modules/               # 依赖模块
├── build-profile.json5       # 项目级构建配置
└── hvigor.config.json5       # 编译构建配置

ArkTS 是 HarmonyOS 的声明式 UI 开发语言,语法风格和 SwiftUI / Jetpack Compose 类似。
这是 index.ets 的默认内容:

@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

可以看到声明式 UI 的写法非常直观。@Entry 表示这是页面的入口,
@Component 声明这是一个组件,@State 标记响应式状态变量。

运行与调试

点击工具栏的 Run 按钮(▶),DevEco Studio 会自动编译并在连接的设备上安装和启动应用。
整个过程和 Android Studio 非常相似。

如果一切顺利,你会在设备屏幕上看到 "Hello World" 字样。
虽然只是一个简单的文本,但看到自己的第一个 HMOS 应用跑在真机上,还是挺有成就感的。

遇到的一些坑

这里记录一些我在搭建过程中遇到的问题和解决方法:

  1. SDK 下载失败: 检查网络代理设置,确认 DevEco Studio 没有走代理导致连接超时。
  2. hdc 连接老设备失败: HMOS 4.2 上 hdc list targets 为空,
    有说法是在设备端拔插 USB 或切换 USB 模式到"传输文件"可以解决,但我这里还没成功。
  3. 编译报错: 大部分情况下是 SDK 版本不匹配,检查 DevEco Studio 和 SDK 版本是否兼容。
  4. 签名配置: 调试运行会自动生成签名配置,但发布版本需要申请华为开发者签名。

总结

HarmonyOS 的开发体验整体来说还不错,特别是 ArkTS 的声明式 UI 设计让界面开发变得很直观。
DevEco Studio 的功能也相当完善,从编码到调试一站式搞定。

不过目前的生态还在建设阶段,社区资源相对较少,遇到问题时更需要自己摸索。
但正是这种"开荒"的过程,反而让我觉得很有趣。

接下来我计划尝试更多的 HMOS API,包括分布式应用、卡片开发等,后续会继续分享。
如果你也在学习 HMOS 开发,欢迎在评论区或通过邮件交流!