DevEco Studio 工程管理全指南
2025-06-20 17:20:13
115次阅读
0个评论
一、工程概述(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。
- 模板分类:
模板名称 | 适用场景 | 支持设备 | 开发语言 |
---|---|---|---|
Empty Ability | 基础 Hello World(推荐新手入门) | Phone、Tablet、车机等 | ArkTS/JS |
Native C++ | 需调用 C++ 代码的场景(如高性能计算) | 同上 | C++ + ArkTS |
[CloudDev]Empty | 端云一体化开发(集成云端服务) | 全设备 | ArkTS |
[Lite]Empty Ability | 轻量级穿戴设备(如手环、手表) | Lite Wearable | ArkTS |
Embeddable Ability | 开发可嵌入其他应用的元服务(如小组件) | 手机、平板 | ArkTS |
关键配置项:
- Bundle Name:应用唯一标识(格式:
com.example.项目名
,需符合三段式规则,如com.harmony.demo
)。 - Device Type:根据目标设备选择(如 Phone、Tablet、Car),可多选。
- Compile SDK:编译目标 API 版本(建议选最新稳定版,如 API 11+)。
2. 创建 HarmonyOS 与 OpenHarmony 工程
- HarmonyOS 工程:
直接选择模板并完成配置,默认生成Stage 模型工程(推荐)。 - OpenHarmony 工程(可选) :
- 创建 HarmonyOS 工程后,修改工程级
build-profile.json5
:
"products": [
{
"name": "default",
"compileSdkVersion": 11, // OpenHarmony 编译版本(整数)
"compatibleSdkVersion": 11, // 最低兼容版本(整数)
"runtimeOS": "OpenHarmony" // 运行时系统改为 OpenHarmony
}
]
- 同步工程,删除不支持的设备类型(如 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##商务#
00
- 0回答
- 0粉丝
- 0关注
相关话题
- DevEco Studio 模块使用全指南
- DevEco Studio 安装与使用全流程
- DevEco Studio创建端云一体化工程全攻略
- # 最新 HUAWEI DevEco Studio 使用技巧
- 最新 HUAWEI DevEco Studio 调试技巧
- 学习元服务基础—— DevEco Studio
- 最新 HUAWEI DevEco Studio 调试技巧
- 最新 HUAWEI DevEco Studio 使用技巧
- 如何干净地卸载DevEco Studio
- 鸿蒙开发 HarmonyOS DevEco Studio 常用快捷键
- DevEco Studio 5.0.1 Beta3发布
- HarmonyOS Next开发利器:DevEco Studio高效编码技巧 🚀
- 【HarmonyOS 5】如何开启DevEco Studio热更新调试应用模式
- 【HarmonyOS 5】如何开启DevEco Studio热更新调试应用模式
- 最新版 DevEco Studio:鸿蒙5应用开发的得力伙伴