跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScript大前端

HarmonyOS Next 之旅:DevEco Studio 使用指南

介绍华为 DevEco Studio 开发工具的功能特性及 HarmonyOS 应用服务开发全流程。内容涵盖开发准备、编码构建、调试测试及发布上架步骤。重点解析了 APP 包结构与 HAP 模块组成,并详细对比了 ArkTS Stage 模型、C++ Stage 模型及 JS FA 模型的工程目录结构,包含关键配置文件如 app.json5、module.json5、hvigorfile.ts 等的说明,辅助开发者快速搭建项目环境。

CryptoLab发布于 2026/3/15更新于 2026/8/1751 浏览
HarmonyOS Next 之旅:DevEco Studio 使用指南

1. 工具简介

1.1 概述

HUAWEI DevEco Studio(以下简称 DevEco Studio)是基于 IntelliJ IDEA Community 开源版本打造,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,全方位的质量与安全保障。

作为一款开发工具,除了具有基本的代码开发、编译构建及调测等功能外,DevEco Studio 还具有如下特点:

  • 高效智能代码编辑:支持 eTS、JavaScript、C/C++ 等语言的代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找等功能,提升代码编写效率。
  • 低代码可视化开发:丰富的 UI 界面编辑能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得;同时支持卡片的零代码开发,降低开发门槛和提升界面开发效率。
  • 多端双向实时预览:支持 UI 界面代码的双向预览、实时预览、动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。
  • 多端设备模拟仿真:提供 HarmonyOS 本地模拟器、远程模拟器、超级终端模拟器,支持手机、智慧屏、智能穿戴等多端设备的模拟仿真,便捷获取调试环境。

1.2 HarmonyOS 应用/服务开发流程

使用 DevEco Studio,只需要按照如下几步,即可轻松开发并上架一个 HarmonyOS 应用/服务到华为应用市场。

文章配图

1.2.1 开发准备

开发工具的安装以及环境的配置参考官方文档或相关安装配置教程。

1.2.2 开发应用/服务

DevEco Studio 集成了手机、智慧屏、智能穿戴等设备的典型场景模板,可以通过工程向导轻松的创建一个新的工程。

接下来还需要定义应用/服务的 UI、开发业务功能等编码工作,可以根据 HarmonyOS 应用开发概述来查看具体的开发过程,通过查看 API 接口文档查阅需要调用的 API 接口。

在开发代码的过程中,可以使用预览器查看应用/服务效果,支持实时预览、动态预览、双向预览等功能,使编码的过程更高效。

1.2.3 运行、调试和测试应用/服务

应用/服务开发完成后,可以使用真机进行调试(需要申请调测证书进行签名)或者使用模拟器进行调试,支持单步调试、跨设备调试、跨语言调试、变量可视化等调试手段,使得应用/服务调试更加高效。

HarmonyOS 应用/服务开发完成后,在发布到应用/服务市场前,还需要对应用进行测试,主要包括漏洞、隐私、兼容性、稳定性、性能等进行测试,确保 HarmonyOS 应用/服务纯净、安全,给用户带来更好的使用体验。

1.2.4 发布应用/服务

HarmonyOS 应用/服务开发、测试完成后,需要将应用/服务发布至应用市场,以便应用市场对应用/服务进行分发,普通消费者可以通过应用市场或服务中心获取到对应的 HarmonyOS 应用/服务。需要注意的是,发布到华为应用市场或服务中心的 HarmonyOS 应用/服务,必须使用应用市场颁发的发布证书进行签名。

2. 工程介绍

2.1 APP 包结构

在进行应用/元服务开发前,开发者应该掌握应用/元服务的逻辑结构。

应用/元服务发布形态为APP Pack (Application Package),它是由一个或多个HAP (Harmony Ability Package) 包以及描述 APP Pack 属性的 pack.info 文件组成。

一个 HAP 在工程目录中对应一个 Module,它是由代码、资源、三方库及应用/元服务配置文件组成,HAP 可以分为 Entry 和 Feature 两种类型。

  • Entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
  • Feature:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。

基于 Stage 模型和 FA 模型开发的应用,应用程序包结构并不相同。

Stage 模型应用程序包结构如下图所示。

文章配图

FA 模型应用程序包结构如下图所示。

文章配图

2.2 切换工程视图

DevEco Studio 工程目录结构提供工程视图和 Ohos 视图。工程视图 (Project) 展示工程中实际的文件结构,Ohos 视图会隐藏一些编码中不常用到的文件,并将常用到的文件进行重组展示,方便开发者查询或定位所需编辑的模块或文件。

工程创建或打开后,默认显示工程视图,如果要切换到 Ohos 视图,在左上角单击 Project > Ohos 进行切换。

文章配图

3. 工程目录结构

3.1 ArkTS 工程目录结构 (Stage 模型)

ArkTS Stage 模型支持 API Version 10 及以上版本,其工程目录结构如下图所示:

文章配图

  • AppScope > app.json5:应用的全局配置信息。
  • entry:应用/元服务模块,编译构建生成一个 HAP。
    • src > main > ets:用于存放 ArkTS 源码。
    • src > main > ets > entryability:应用/元服务的入口。
    • src > main > ets > pages:应用/元服务包含的页面。
    • src > main > resources:用于存放应用/元服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。
资源目录资源文件说明
base>element包括字符串、整型数、颜色、样式等资源的 json 文件。每个资源均由 json 格式进行定义,例如:boolean.json(布尔型)、color.json(颜色)、float.json(浮点型)、intarray.json(整型数组)、integer.json(整型)、pattern.json(样式)、plural.json(复数形式)、strarray.json(字符串数组)、string.json(字符串值)。
base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4 等。
rawfile用于存储任意格式的原始资源文件。rawfile 不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
  • src > main > module.json5:Stage 模型模块配置文件,主要包含 HAP 的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。

  • build-profile.json5:当前的模块信息、编译信息配置项,包括 buildOption、targets 配置等。

  • hvigorfile.ts:模块级编译构建任务脚本。

  • oh-package.json5:描述三方包的包名、版本、入口文件 (类型声明文件) 和依赖项等信息。

  • oh_modules:用于存放三方库依赖信息,包含应用/元服务所依赖的第三方库文件。

  • build-profile.json5:应用级配置信息,包括签名、产品配置等。

  • hvigorfile.ts:应用级编译构建任务脚本。

  • oh-package.json5:描述全局配置,如:依赖覆盖 (overrides)、依赖关系重写 (overrideDependencyMap) 和参数化配置 (parameterFile) 等。

3.2 C++ 工程目录结构 (Stage 模型)

C++ Stage 模型支持 API Version 10 以上版本,支持使用 ArkTS+C++ 进行开发,其工程目录结构如下图所示。

文章配图

  • entry:应用模块,编译构建生成一个 HAP。
  • src > main > cpp > types:用于存放 C++ 的 API 接口描述文件。
  • src > main > cpp > types > libentry > index.d.ts:描述 C++ API 接口行为,如接口名、入参、返回参数等。
  • src > main > cpp > types > libentry > oh-package.json5:配置.so 三方包声明文件的入口及包名。
  • src > main > cpp > CMakeLists.txt:CMake 配置文件,提供 CMake 构建脚本。
  • src > main > cpp > napi_init.cpp:定义 C++ API 接口的文件。
  • src > main > ets:用于存放 ArkTS 源码。
  • src > main > resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等。
资源目录资源文件说明
base>element包括字符串、整型数、颜色、样式等资源的 json 文件。每个资源均由 json 格式进行定义,例如:boolean.json(布尔型)、color.json(颜色)、float.json(浮点型)、intarray.json(整型数组)、integer.json(整型)、pattern.json(样式)、plural.json(复数形式)、strarray.json(字符串数组)、string.json(字符串值)。
base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4 等。
rawfile用于存储任意格式的原始资源文件。rawfile 不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
  • src > main > module.json5:Stage 模块配置文件,主要包含 HAP 的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
  • build-profile.json5:当前的模块信息、编译信息配置项,包括 buildOption、targets 配置等。
  • hvigorfile.ts:模块级编译构建任务脚本。
  • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.ts:应用级编译构建任务脚本。

3.3 JS 工程目录结构 (FA 模型)

JS 工程只支持 FA 模型,其工程目录结构如下图所示:

文章配图

  • entry:应用/元服务模块,编译构建生成一个 HAP。
  • src > main > js:用于存放 js 源码。
  • src > main > js > MainAbility:应用/元服务的入口。
  • src > main > js > MainAbility > i18n:用于配置不同语言场景资源内容,比如应用文本词条、图片路径等资源。
  • src > main > js > MainAbility > pages:MainAbility 包含的页面。
  • src > main > js > MainAbility > app.js:承载 Ability 生命周期。
  • src > main > resources:用于存放应用/元服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。
资源目录资源文件说明
base>element包括字符串、整型数、颜色、样式等资源的 json 文件。每个资源均由 json 格式进行定义,例如:boolean.json(布尔型)、color.json(颜色)、float.json(浮点型)、intarray.json(整型数组)、integer.json(整型)、pattern.json(样式)、plural.json(复数形式)、strarray.json(字符串数组)、string.json(字符串值)。
base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4 等。
rawfile用于存储任意格式的原始资源文件。rawfile 不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
  • src > main > config.json:模块配置文件,主要包含 HAP 的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
  • build-profile.json5:当前的模块信息、编译信息配置项,包括 buildOption、targets 配置等。
  • hvigorfile.ts:模块级编译构建任务脚本。
  • oh-package.json5:配置三方包声明文件的入口及包名。
  • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.ts:应用级编译构建任务脚本。

目录

  1. 1. 工具简介
  2. 1.1 概述
  3. 1.2 HarmonyOS 应用/服务开发流程
  4. 1.2.1 开发准备
  5. 1.2.2 开发应用/服务
  6. 1.2.3 运行、调试和测试应用/服务
  7. 1.2.4 发布应用/服务
  8. 2. 工程介绍
  9. 2.1 APP 包结构
  10. 2.2 切换工程视图
  11. 3. 工程目录结构
  12. 3.1 ArkTS 工程目录结构 (Stage 模型)
  13. 3.2 C++ 工程目录结构 (Stage 模型)
  14. 3.3 JS 工程目录结构 (FA 模型)
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Windows 11 下利用 llama.cpp 测试 Qwen3.5 量化模型
  • OpenClaw 集成本地 Llama.cpp 后端
  • NewBie-image-Exp0.1 动漫 AI 绘画镜像快速入门
  • 全球与中国主流人工智能(AI)公司及机构介绍
  • 机器人数值优化基础(一)从理论到实战
  • System V 进程通信详解:消息队列与信号量
  • 基于 STM32 的物流分拣小车设计与实现
  • Lostlife2.0 整合 Llama-Factory 引擎,增强 NPC 对话逻辑
  • Windows 部署 OpenClaw 接入飞书机器人
  • Qwen3-VL 结合 LLaMA-Factory 实现 Grounding 任务 LoRA 微调
  • 招商银行信用卡 AI 客服系统:从 0 到 1 实战
  • VS Code 远程连接后 GitHub Copilot 代码提示失效排查指南
  • 鸿蒙 ArkTS 自动化测试实践:构建全链路缺陷防御体系
  • 利用 AI 快速构建 Windows 18-HD19 风格 CSS 组件库
  • 行星减速器原理、计算公式与 C++ 实现
  • 毕业论文智能写作工具功能与使用流程解析
  • Rust 重构 Android 蓝牙协议栈:从 C++ 到安全高效之路
  • 生成式人工智能发展历程、现状与伦理挑战
  • 二分算法实战:A-B 数对与高考志愿问题解析
  • 滑动窗口算法实战:最大连续 1 的个数 III 与最小操作数

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online