第一篇:鸿蒙 6 来了!AtomCode 助力鸿蒙生态开发

标签: 鸿蒙6 AtomCode 入门
项目: haronyos — 实战项目全流程


一、鸿蒙 6 是什么?

鸿蒙 6(HarmonyOS 6)是华为新一代全场景智能操作系统,在 2026 年华为开发者大会上正式发布。相比前代,鸿蒙 6 带来了三大核心升级:

特性 说明
统一 IDE 6.1.0 集成 DevEco Studio 6.1.0,支持 ArkTS 开发
SDK 23(6.1.0) 全新 API 体系,支持 phone + 2in1 双端设备
Stage 模型增强 更灵活的 Ability 生命周期管理,支持扩展 Ability(Backup、Service 等)
ArkTS 编译优化 Hvigor 构建提速,支持增量编译、并行编译、守护进程模式
资源管理升级 多密度资源自动匹配,深色/浅色模式独立资源集

鸿蒙 6 的 API 级别

鸿蒙 6 对应 API 12+(即 SDK 23),在 build-profile.json5 中配置:

// haronyos/build-profile.json5
{
  "app": {
    "products": [
      {
        "name": "default",
        "targetSdkVersion": "6.1.0(23)",   // 目标 SDK
        "compatibleSdkVersion": "6.1.0(23)", // 兼容 SDK
        "runtimeOS": "HarmonyOS"
      }
    ]
  }
}

二、AtomCode 是什么?

AtomCode 是由 AtomGit 推出的 AI 编码助手,能够理解并生成鸿蒙 ArkTS 代码。

核心能力

能力 说明
代码智能补全 理解上下文语义,代码提示准确率超 90%
鸿蒙 API 问答 覆盖 HarmonyOS 6 全部公开 API,包括新引入的 2in1 设备接口
代码迁移助手 帮助从 Java / JS 跨语言平滑过渡到 ArkTS
AtomCode CLI 命令行级 AI Agent,可嵌入 CI/CD 流程
项目级上下文理解 读取 build-profile.json5module.json5、资源文件等,生成与项目一致的代码

与原子OS的协同

AtomCode 不仅帮你写代码,还可以:

  • 分析项目结构 — 理解 Stage 模型下的 Ability / ExtensionAbility 布局
  • 自动配置资源 — 按照 string.jsoncolor.jsonfloat.json 规范生成资源引用
  • 定位构建错误 — 分析 Hvigor 构建日志,快速修复 oh-package.json5 依赖冲突

AtomCode 是 AtomGit 的产品 — 没错,就是运行 AI Agent 的 AtomGit 平台。


三、安装 AtomCode(macOS 版)

3.1 环境要求

项目 要求
操作系统 macOS 14+(Sonoma / Sequoia)
鸿蒙 SDK 23(6.1.0,鸿蒙 6 配套版本)
DevEco Studio 6.1.0+
终端 iTerm2 或 系统终端
Node.js 18+(Hvigor 构建引擎依赖)
网络 需要访问 AtomGit API

3.2 安装步骤

Step 1:安装鸿蒙 IDE

前往华为开发者官网下载 DevEco Studio 6.1.0:

https://developer.huawei.com/consumer/cn/download/

安装完成后,通过 SDK Manager 安装 API 12+(SDK 23)


Step 2:安装 AtomCode CLI

# 使用 curl 一键安装
curl -fsSL https://atomgit.com/atomcode/install.sh | sh

# 验证安装
atomcode --version

Step 3:配置 Token

atomcode auth login
# 浏览器弹窗 → 登录 AtomGit → 授权 → 自动完成

Step 4:验证连接

atomcode status

输出示例:

✓ AtomCode CLI 已连接
  模型: deepseek-v4-flash
  账户: 坚果 <jianguo@nutpi.net>
  鸿蒙 SDK: 1.0.0 (runtime: harmonyos6)

四、实战:基于已有项目开发

假设你已经有一个鸿蒙项目(就像本教程的 haronyos),让我们看看项目结构和 AtomCode 如何协助开发。

4.1 项目结构一览

haronyos/
├── AppScope/
│   ├── app.json5              # 应用级配置(bundleName、版本号、图标)
│   └── resources/             # 应用级资源
├── entry/                     # 主 Entry 模块
│   ├── src/main/
│   │   ├── ets/
│   │   │   ├── entryability/
│   │   │   │   └── EntryAbility.ets    # Ability 生命周期
│   │   │   ├── entrybackupability/
│   │   │   │   └── EntryBackupAbility.ets  # 备份扩展 Ability
│   │   │   └── pages/
│   │   │       └── Index.ets            # 主页面(Hello World)
│   │   ├── module.json5                 # 模块配置
│   │   └── resources/
│   │       ├── base/element/
│   │       │   ├── string.json          # 字符串资源
│   │       │   ├── color.json           # 颜色资源
│   │       │   └── float.json           # 尺寸资源
│   │       ├── dark/element/
│   │       │   └── color.json           # 深色模式颜色
│   │       ├── media/                   # 图标和图片
│   │       └── profile/                 # 页面路由配置
│   ├── oh-package.json5                 # 模块级依赖
│   └── build-profile.json5              # 构建配置
├── build-profile.json5                  # 应用级构建配置
├── hvigor/
│   └── hvigor-config.json5              # Hvigor 构建引擎配置
└── oh-package.json5                     # 全局依赖锁

4.2 项目关键配置解读

应用标识AppScope/app.json5):

{
  "app": {
    "bundleName": "com.nutpi.haronyos",  // 应用唯一包名
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:layered_image",
    "label": "$string:app_name"
  }
}

模块配置entry/src/main/module.json5):

{
  "module": {
    "name": "entry",
    "type": "entry",              // entry 类型:可独立安装的应用
    "deviceTypes": ["phone", "2in1"],  // 支持手机和 PC 双端
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "startWindowIcon": "$media:startIcon",
        "skills": [
          { "entities": ["entity.system.home"],
            "actions": ["ohos.want.action.home"] }
        ]
      }
    ],
    "extensionAbilities": [
      {
        "name": "EntryBackupAbility",  // 备份恢复能力
        "type": "backup",
        "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets"
      }
    ]
  }
}

Hvigor 构建引擎配置hvigor/hvigor-config.json5):

{
  "modelVersion": "6.1.0",
  "execution": {
    // "daemon": true,        // 守护进程,加速二次构建
    // "incremental": true,   // 增量编译
    // "parallel": true,      // 并行编译
  }
}

鸿蒙 6 的 Hvigor 构建引擎支持守护进程模式,开启后二次编译仅需首次的 30% 时间。

4.3 页面代码详解

这是项目的主页面 Index.ets

@Entry
@Component
struct Index {
  @State message: string = '你好,鸿蒙 6!';

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize($r('app.float.page_text_font_size'))  // 引用 float.json 中的 50fp
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          this.message = 'Welcome';       // 点击切换为英文
        })
    }
    .height('100%')
    .width('100%')
  }
}

知识点

语法 作用
@Entry 标记页面入口,由 main_pages.json 路由配置加载
@Component 声明一个自定义组件
@State 响应式状态变量,修改自动触发 UI 更新
$r('app.float.xxx') 引用资源文件中的值,支持国际化与多主题
RelativeContainer 相对布局容器,通过 alignRules 定位子组件

4.4 资源文件的最佳实践

string.json — 不要硬编码字符串,使用资源引用:

{
  "string": [
    { "name": "hello_message", "value": "你好,鸿蒙 6!" },
    { "name": "welcome_message", "value": "Welcome" }
  ]
}

然后在代码中使用 $r('app.string.hello_message') 引用,天然支持多语言。

float.json — 统一管理尺寸:

{
  "float": [
    { "name": "page_text_font_size", "value": "50fp" }
  ]
}

color.json — 深色/浅色双主题(dark/element/color.json):

// base/element/color.json(浅色)
{ "color": [{ "name": "start_window_background", "value": "#FFFFFF" }] }

// dark/element/color.json(深色)
{ "color": [{ "name": "start_window_background", "value": "#000000" }] }

系统会根据用户当前主题自动选择对应的资源文件。


五、使用 AtomCode 生成 Hello World

5.1 一句话生成代码

在项目目录下运行 AtomCode:

cd haronyos

atomcode generate "一个 Hello World 程序,输出 '你好,鸿蒙 6!'"

AtomCode 分析项目后,自动生成 Index.ets,并遵循:

  • ✅ 项目已有的 RelativeContainer 布局风格
  • ✅ 使用 $r('app.float.page_text_font_size') 资源引用
  • ✅ 适配 phone + 2in1 双端设备
  • ✅ 保留 .onClick 交互逻辑

5.2 编译构建

使用 Hvigor 命令行构建:

# 进入项目目录
cd haronyos

# Debug 模式构建
hvigorw assembleHap --mode module -p module=entry -p buildMode=debug

# Release 模式构建(含混淆)
hvigorw assembleHap --mode module -p module=entry -p buildMode=release

构建产物路径:entry/build/default/outputs/default/entry-default-unsigned.hap

5.3 运行效果

在 DevEco Studio 的模拟器或真机上运行后,屏幕中央会显示:

你好,鸿蒙 6!

点击文字,会切换为:

Welcome

六、从零开始的完整流程(备忘)

如果是全新项目,流程如下:

# 1. DevEco Studio → Create Project → 选择 Empty Ability
#    项目名: hello-harmony6, 包名: com.example.hello, API 12+

# 2. 进入项目
cd hello-harmony6

# 3. 用 AtomCode 生成 Hello World
atomcode generate "一个 Hello World 程序,输出 '你好,鸿蒙 6!'"



# 4. 部署到模拟器/真机
# (通过 DevEco Studio 一键运行)

七、总结

项目 状态
鸿蒙 6 + SDK 23 🔥 已就绪,生态爆发前夜
AtomCode 安装 ✅ 一行命令搞定
实战项目 haronyos 🚀 包含完整 Stage 模型、Ability 配置、资源管理
开发体验 ⭐ AI 辅助,效率倍增
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐