2.4 项目结构与主要文件介绍
鸿蒙应用的项目结构具有清晰的分层设计,便于开发者进行功能模块划分和管理。本节将详细介绍项目的目录结构及其核心文件的作用,以便开发者快速了解项目整体框架。
2.4.1 项目结构概览
鸿蒙项目的基础目录结构如下:
project-name/
│ ├── entry/ # 应用模块的主目录
│ ├── src/ # 源代码和资源目录
│ │ ├── main/ # 主源代码目录
│ │ │ ├── java/ # 应用逻辑代码
│ │ │ ├── resources/ # 应用界面布局和资源文件
│ │ │ └── config.json # 应用配置文件
│ │ └── test/ # 测试代码目录
│ ├── build.gradle # 应用模块的构建脚本
│ └── module.json # 应用模块配置文件
│ ├── build.gradle # 项目级构建脚本
├── settings.gradle # 项目设置文件
└── .idea/ # IDE 配置文件目录(DevEco Studio 相关)
2.4.2 核心目录与文件介绍
1. 主模块目录:entry/
这是鸿蒙应用的核心模块,包含主要的代码和资源:
src/main/:应用的主源代码目录。java/:存放应用的逻辑代码。
主要类文件示例:MainAbility.java:主功能入口类,负责加载应用界面。MainAbilitySlice.java:页面切片类,处理具体的 UI 和交互逻辑。
resources/:存放界面布局文件和资源文件。base/layout/:存储 XML 格式的界面布局文件,例如ability_main.xml。base/media/:存储媒体文件(如图片、音频)。base/string/:存储多语言资源文件。
config.json:应用的全局配置文件,定义应用标识、权限、分布式能力等。
2. 构建脚本:build.gradle
- 项目级
build.gradle:- 定义项目的全局配置,例如 SDK 版本、插件依赖。
- 模块级
build.gradle:- 定义模块的依赖库和构建规则。
- 示例内容:
apply plugin: 'com.huawei.harmonyos' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) }
3. 模块配置文件:module.json
- 描述模块的基本信息,包括模块名、支持的设备类型等。
- 示例内容:
{ "module": { "type": "entry", "name": "entry", "deviceType": ["phone", "tablet"] } }
4. 测试代码目录:src/test/
- 包含单元测试代码,用于测试应用逻辑的正确性。
2.4.3 配置文件详解
config.json 这是鸿蒙应用的核心配置文件,定义了应用的整体属性和能力:
主要字段:
- appID:应用的唯一标识。
- version:应用版本号。
- permissions:应用所需权限列表。
- abilities:应用包含的功能模块。 示例内容:
{
"appID": "com.example.firstharmonyapp",
"version": {
"code": 1,
"name": "1.0.0"
},
"abilities": [
{
"name": "MainAbility",
"type": "feature"
}
]
}
module.json
- 描述模块特性,例如模块类型、支持的设备类型和入口能力。
2.4.4 项目结构的灵活性
鸿蒙项目的结构是高度可扩展的。开发者可以根据应用需求,添加新的模块或子模块(例如 service、feature 模块),实现复杂功能的模块化管理。
小结
通过清晰的目录结构和配置文件,鸿蒙应用为开发者提供了高度组织化的开发环境。熟悉这些目录和文件的用途,有助于开发者更高效地开发、调试和维护鸿蒙应用。
