鸿蒙工程结构、开发指南
一、工程结构
官方课程讲解
应用程序包基础知识:包结构、包开发与使用、应用配置、卸载与更新
工程目录结构及作用
目录结构及作用说明
最佳实践—模块化设计
应用配置文件:概述、app.json5配置文件、module.json5配置文件
资源分类与访问
对官方讲解的补充
External Libraries
"External Libraries"是一个只读的、由IDE管理的目录。你不应该也无法直接在这个目录下修改任何文件。目录内容:
项目依赖项 (Project Dependencies):这里会列出你通过OHPM安装的所有第三方库。
SDK & 设备支持:还会包含HarmonyOS SDK、Java SDK以及目标设备的系统库等。
oh-package-lock.json5
在鸿蒙(HarmonyOS)应用开发中,oh-package-lock.json5 文件是一个由 OHPM(OpenHarmony Package Manager)自动生成和管理的重要文件,它的主要作用是锁定项目中所有依赖包的确切版本,以确保团队协作或在不同环境下安装的依赖是一致的。
code-linter.json5
在鸿蒙(HarmonyOS)应用开发中,code-linter.json5 文件是 Code Linter 工具的配置文件,用于对 ArkTS/TS 代码进行最佳实践和编程规范方面的检查。它帮助开发团队统一代码风格,提前发现潜在问题,提升代码质量。
.gitmodules
在鸿蒙(HarmonyOS)项目中,.gitmodules 文件是 Git 版本控制系统的一部分,并非鸿蒙项目所独有。当你的项目中使用 Git 子模块(Submodule) 来管理依赖时,Git 就会自动创建这个文件,它主要用于记录子模块的存储位置和路径等信息。
.gitignore
在鸿蒙(HarmonyOS)应用开发中,一个正确配置的 .gitignore 文件至关重要,它能确保那些自动生成、依赖相关或包含敏感信息的文件不被意外提交到代码仓库。以下是为鸿蒙项目整理的常见忽略规则及其说明。
| 规则类型 | 推荐规则 | 规则说明 |
| 构建输出 | /build/ .hvigor/ .cxx/ | 忽略编译鸿蒙项目时自动生成的构建输出目录和缓存。 |
| 依赖目录 | /oh_modules/ /node_modules/ | 忽略由包管理工具(OHPM、npm)生成的依赖安装目录。 |
| IDE 与工具链 | .idea/ .preview/ .test/ local.properties | 忽略 DevEco Studio 等 IDE 的配置文件、预览临时文件和本地环境配置。 |
| 系统与日志 | .DS_Store *.log *.tmp | 忽略操作系统生成的临时文件和应用程序的日志文件。 |
hvigor 目录
hvigor简介
在鸿蒙应用开发中,hvigor 目录与构建工具密切相关。为了帮助你快速建立整体认知,下面这个表格汇总了 hvigor 目录及其相关文件的核心信息:
| 目录/文件 | 主要功能 | 关键配置文件与作用 |
| hvigor 目录 | 存储构建工具的配置和缓存信息,用于发布打包。 | hvigor-config.json5: 指定构建工具和插件版本。 |
| .hvigor 目录 | 存储构建过程中的临时文件和缓存。 | 通常由工具自动管理,无需手动修改。 |
| hvigorfile.ts | 定义应用级或Module级的编译构建任务脚本。 | 开发者可在此自定义构建工具版本、控制构建参数。 |
| hvigorw 与 hvigorw.bat | Hvigor 构建工具的包装器,支持自动安装Hvigor和执行构建命令。 | hvigorw (Unix-like系统) 和 hvigorw.bat (Windows系统) 是构建命令的入口。 |
深入理解 hvigor 目录与构建流程
在鸿蒙项目中,Hvigor作为一款基于任务管理的自动化构建工具,取代了传统的Gradle。hvigor 目录及其相关文件共同协作,确保项目的顺利构建。
- hvigor-config.json5:这个文件在 hvigor 目录下,它以插件形式引入Hvigor构建工具并标识其版本,同时也会指定构建插件(如 hvigor-ohos-plugin)的依赖版本。其配置示例如下:
{
"hvigorVersion": "2.2.1", // 或 "@ohos/hvigor": "1.6.0"
"dependencies": {
"@ohos/hvigor-ohos-plugin": "2.2.1" // 构建插件版本
}
}
- hvigorfile.ts:这是应用级或Module级的编译构建任务脚本,开发者可以在这里自定义编译构建工具版本、控制构建行为的配置参数。
- hvigorw:作为Hvigor的包装工具,它的主要作用是支持自动安装Hvigor构建工具和相关插件依赖,以及执行Hvigor构建命令。当你点击DevEco Studio中的运行、清除项目等按钮时,底层都是通过hvigorw来执行相应的构建任务。
重要提示
- hvigor 与 .hvigor 的区别:hvigor 目录通常包含构建工具的配置信息,而 .hvigor (前面有点号) 是一个隐藏目录,主要用于存储构建过程中的临时文件和缓存。这两个目录通常都由工具自动管理,建议不要手动修改其中的内容。
- 版本匹配:确保 hvigor-config.json5 中指定的构建工具版本与插件版本相匹配,以避免潜在的构建冲突。
entry/build 目录
在鸿蒙(HarmonyOS)应用开发中,entry/build 目录是编译构建过程中自动生成的,主要用于存放构建产物和临时文件。表格来汇总:
| entry/build 目录核心内容 | 说明 |
| 主要作用 | 存储模块(如entry)编译后生成的输出物和中间文件。 |
| 典型生成时机 | 点击 DevEco Studio 的 Build 按钮或执行编译命令后。 |
| 常见内容示例 | 编译好的HAP包、DEX文件、资源编译后中间件、JSON配置文件等。 |
| 关键特性 | 由构建工具 (如 Hvigor) 自动生成和管理,通常无需手动修改。 |
8、entry/src/test 与entry/src/ohosTest 目录
在鸿蒙应用开发中,entry/src/ohosTest 和 entry/src/test 目录都用于存放单元测试代码。对比如下:
| 对比维度 | entry/src/ohosTest | entry/src/test |
| 主要用途 | 存放模块级的单元测试代码。 | 存放模块级 |
