写点什么

DevEco Studio 工程管理全指南

作者:小赵学鸿蒙
  • 2025-06-19
    湖北
  • 本文字数:2176 字

    阅读完需:约 7 分钟

一、工程概述(Project Overview)

1. 工程基本概念

  • 工程(Project):开发应用的基本组织单位

  • 模块(Module):工程的功能组成部分

  • Ability:应用的功能单元(UIAbility 或 ServiceAbility)

  • HAP(Harmony Ability Package):应用的部署包

2. 工程生命周期



二、工程结构(Project Structure)

1. 典型工程结构

MyProject/├── .deveco/             # IDE 配置文件├── entry/               # 主模块│   ├── src/│   │   ├── main/│   │   │   ├── ets/     # ArkTS 代码│   │   │   │   ├── pages/       # 页面组件│   │   │   │   ├── app.ets      # 应用入口│   │   │   │   └── ... │   │   │   ├── resources/       # 资源文件│   │   │   │   ├── base/│   │   │   │   ├── en_US/│   │   │   │   └── ... │   │   │   └── module.json5     # 模块配置│   ├── build-profile.json5      # 模块构建配置│   └── hvigorfile.ts            # 构建脚本├── library/            # 共享库模块(可选)├── build-profile.json5 # 工程级构建配置├── hvigorfile.ts       # 工程级构建脚本└── oh-package.json5    # 依赖管理
复制代码


2、工程目录结构:Stage 与 FA 模型对比

 1. Stage 模型(ArkTS 开发,推荐)

Project├─ .hvigor/               # 构建脚本(自动生成)├─ AppScope/              # 应用全局配置│  └─ app.json5           # 应用级配置(多模块管理、权限声明)├─ entry/                 # 主模块(必选,生成 Entry.hap)│  ├─ src/main/ets/       # ArkTS 源码│  │  ├─ entryability/    # 应用入口(生命周期管理)│  │  └─ pages/           # 页面组件(如 Index.ets)│  ├─ src/main/resources/  # 资源文件(图形、字符串、布局)│  │  ├─ base/element/    # 结构化资源(color.json、string.json)│  │  └─ rawfile/         # 原始资源(不自动适配设备,如字体文件)│  └─ module.json5        # 模块配置(HAP 信息、设备适配)├─ featureA/              # 动态特性模块(可选,生成 FeatureA.hap)│  └─ ...                 # 结构同 entry 模块├─ oh_modules/            # 三方库依赖(通过 ohpm 安装)└─ oh-package.json5       # 全局依赖配置(管理三方包版本)
复制代码

2. FA 模型(JS 开发,兼容旧项目)

Project├─ entry/                 # 主模块│  ├─ src/main/js/        # JS 源码│  │  ├─ MainAbility/     # 入口组件(生命周期)│  │  └─ pages/           # 页面(如 index.js)│  └─ config.json         # 模块配置(类似 module.json5)└─ ...                    # 资源与依赖结构同 Stage 模型
复制代码

三、工程模板(Templates)

1. 选择工程类型与模板

入口路径

  • 欢迎页点击 Create Project,或菜单 File > New > Create Project

  • 模板分类

关键配置项

  • Bundle Name:应用唯一标识(格式:​​com.example.项目名​​​,需符合三段式规则,如​​com.harmony.demo​​)。

  • Device Type:根据目标设备选择(如 Phone、Tablet、Car),可多选。

  • Compile SDK:编译目标 API 版本(建议选最新稳定版,如 API 11+)。

2. 创建 HarmonyOS 与 OpenHarmony 工程

  • HarmonyOS 工程

  • 直接选择模板并完成配置,默认生成 Stage 模型工程(推荐)。

  • OpenHarmony 工程(可选)

  1. 创建 HarmonyOS 工程后,修改工程级 build-profile.json5​:

"products": [  {    "name": "default",    "compileSdkVersion": 11,       // OpenHarmony 编译版本(整数)    "compatibleSdkVersion": 11,     // 最低兼容版本(整数)    "runtimeOS": "OpenHarmony"      // 运行时系统改为 OpenHarmony  }]
复制代码
  1. 同步工程,删除不支持的设备类型(如 Phone),保留​​default​​​ 或​​tablet​​。

四、工程管理技巧

1. 多模块开发(Stage 模型)

  • 创建 Feature 模块

  • 菜单 File > New > Module,选择 Feature Ability,用于扩展功能(如插件化模块)。

  • 模块间通信

  • 通过 EventBus 全局状态管理(如​​@AppStorage​​)实现跨模块数据传递。

  • 在​​app.json5​​ 中配置模块依赖关系。

2. 资源管理最佳实践

  • 结构化资源

  • 将颜色、字符串等放入​​​base/element​​​ 目录,通过​​$r('app.element.xxx')​​ 引用,便于多语言 / 主题切换。

  • 原始资源(rawfile)

  • 直接通过路径引用(如​​​FileUtil.getRawFileContent('rawfile/test.txt')​​),适用于不参与编译的文件。

3. 编译与构建配置

  • 签名配置

    菜单 File > Project Structure > Signing Configs,勾选 Automatically generate signature,使用华为账号自动签名(调试阶段)。

  • 构建产物

  • HAP 包:主模块编译生成​​entry/build/outputs/hap/debug/entry.hap​​。

  • APP Pack:多模块工程生成​​app/dist/xxx.app​​​(包含所有 HAP 与​​pack.info​​)。

4. 切换开发语言

  • ArkTS 与 JS 混用

  • 创建新模块时选择不同语言(如主模块用 ArkTS,插件模块用 JS),通过 JS-TS 互调实现协同。

  • C++ 集成

  • 使用 Native C++ 模板,在 ArkTS 中通过​​@Native​​ 装饰器调用 C++ 接口。

##鸿蒙开发工具 ##DevEco Studio##商务 #

发布于: 刚刚阅读数: 2
用户头像

还未添加个人签名 2025-05-29 加入

还未添加个人简介

评论

发布
暂无评论
DevEco Studio 工程管理全指南_商务_小赵学鸿蒙_InfoQ写作社区