鸿蒙Next目录结构详解

鸿蒙Next的目录结构具体是怎样的?能否详细说明各个主要目录的作用和存放的文件类型?比如应用程序、系统库、配置文件等都放在哪个路径下?还有目录结构相比之前的鸿蒙版本有什么变化或优化?

2 回复

鸿蒙Next的目录结构,简单说就是“分层叠叠乐”:

  • 应用层:你的App代码,像搭积木一样堆功能。
  • 框架层:系统服务“后台打工人”,默默支撑一切。
  • 内核层:鸿蒙专属“心脏”,保证流畅不卡顿。
  • 驱动层:硬件翻译官,让代码和硬件“握手言和”。
    总结:一层管一层,代码不迷路,开发更省心!🚀

更多关于鸿蒙Next目录结构详解的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


鸿蒙Next(HarmonyOS NEXT)的目录结构主要围绕应用开发、系统服务和资源管理设计,以下以应用开发视角详解关键目录及作用:


1. 根目录结构

MyApplication/
├── AppScope/          # 应用全局资源与配置
├── entry/             # 主模块(应用入口)
├── feature/           # 功能模块(可选)
└── library/           # 共享库模块(可选)

2. 核心目录详解

AppScope

  • resources/: 全局资源(字符串、颜色等)
  • app.json5: 应用级配置(包名、版本、权限等)

entry(主模块)

entry/
├── src/
│   ├── main/
│   │   ├── ets/                 # 业务逻辑代码
│   │   │   ├── entryability/    # 应用入口能力(如启动逻辑)
│   │   │   └── pages/           # 页面组件
│   │   ├── resources/           # 模块资源文件
│   │   └── module.json5         # 模块配置(Ability声明、路由等)
│   └── ohosTest/                # 测试代码
├── build-profile.json5          # 构建配置
└── hvigorfile.ts                # 构建脚本

3. 关键文件说明

  • module.json5:
    定义Ability、ExtensionAbility、页面路由及权限:

    {
      "module": {
        "abilities": [{
          "name": "EntryAbility",
          "srcEntry": "./ets/entryability/EntryAbility.ts",
          "launchType": "standard"
        }]
      }
    }
    
  • app.json5:
    配置应用信息:

    {
      "app": {
        "bundleName": "com.example.myapp",
        "versionCode": 1
      }
    }
    

4. 资源目录规范

resources/
├── base/
│   ├── element/    # 字符串/颜色等
│   ├── media/      # 图片/音频
│   └── profile/    # 配置文件
└── zh_CN/          # 中文本地化

5. 模块化特性

  • feature/: 独立功能模块(如支付、登录)
  • library/: 公共工具库(可被多个模块引用)

总结

鸿蒙Next通过清晰的目录结构实现模块解耦和资源隔离,支持跨设备部署。开发时需注意:

  1. 全局配置在AppScope,模块配置在各自module.json5
  2. 页面路径需在module.json5abilities中注册
  3. 资源按语言和屏幕密度分目录存放

参考:HarmonyOS应用开发文档

回到顶部