HarmonyOS 工程目录介绍

  • 工程目录
    • AppScope:存放应用全局所需要的资源文件

      • base
        • element:文件夹主要存放公共的字符串、布局文件等资源

        • media:存放全局公共的多媒体资源文件

        • app.json5:应用的全局的配置文件,用于存放应用公共的配置信息

          TypeScript 复制代码
          {
            "app": {
              "bundleName": "com.xiaotie.testapplication",//包名
              "vendor": "example",//应用程序供应商
              "versionCode": 1000000,//用于区分应用版本
              "versionName": "1.0.0",//版本号
              "icon": "$media:app_icon",//对应于应用的显示图标
              "label": "$string:app_name"//应用名
            }
          }
    • entry:应用的主模块,存放HarmonyOS应用的代码、资源等

      • src
        • ohosTest:单元测试目录

        • main

          • ets

            • entryability:存放ability文件,用于当前ability应用逻辑和生命周期管理
            • pages:存放UI界面相关代码文件,初始会生成一个Index页面
          • resources

            • base
              • element:模块公共的字符串资源文件
              • media:模块公共的多媒体文件
              • profile
                • main_pages.json:页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置
              • en_US
              • zh_CN
              • rawfile
          • module.json5:模块的配置文件,包含当前模块的配置信息

            TypeScript 复制代码
            {
              "module": {
                "name": "entry",//该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一
                "type": "entry",//表示模块的类型,类型有三种,分别是entry、feature和har
                "description": "$string:module_desc",//当前模块的描述信息
                "mainElement": "EntryAbility",//该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出。
                "deviceTypes": [
                  "phone",
                  "tablet"
                ],//该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示
                "deliveryWithInstall": true,//标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装。
                "installationFree": false,//标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。
                "pages": "$profile:main_pages",//对应的是main_pages.json文件,用于配置ability中用到的page信息
                "abilities": [
                  {
                    "name": "EntryAbility",//该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)。
                    "srcEntry": "./ets/entryability/EntryAbility.ts",//ability的入口代码路径
                    "description": "$string:EntryAbility_desc",//ability的描述信息
                    "icon": "$media:icon",//ability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置。
                    "label": "$string:EntryAbility_label",//ability的标签名。
                    "startWindowIcon": "$media:icon",//启动页面的图标。
                    "startWindowBackground": "$color:start_window_background",//启动页面的背景色。
                    "exported": true,//ability是否可以被其他应用程序调用,true表示可以被其它应用调用, false表示不可以被其它应用调用。
                    "skills": [
                      {
                        "entities": [
                          "entity.system.home"
                        ],//标识能够接收Want的Entity值的集合。
                        "actions": [
                          "action.system.home"
                        ]//标识能够接收的Want的Action值的集合,取值通常为系统预定义的action值,也允许自定义。
                      }
                    ]//标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。
                  }
                ]//是一个数组,存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability
              }
            }
        • build-profile.json5:模块级配置信息,包括编译构建配置项

        • hvigorfile.ts:模块级构建脚本

        • oh-package.json5:模块级依赖配置信息文件

    • oh_modules:工程的依赖包,存放工程依赖的源文件

    • build-profile.json5:工程级配置信息,包括签名、产品配置等

    • hvigorfile.ts:工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力

    • oh-package.json5:工程级依赖配置文件,用于记录引入包的配置信息

相关推荐
沈剑心7 小时前
如何在鸿蒙系统上实现「沉浸式」页面?
前端·harmonyos
Georgewu7 小时前
【HarmonyOS】鸿蒙应用加载读取csv文件
前端·harmonyos
Georgewu8 小时前
【HarmonyOS】 鸿蒙图片或视频保存相册
前端·harmonyos
准橙考典12 小时前
如何考驾照?
物联网·安全·华为·自动驾驶·汽车
川石教育13 小时前
鸿蒙开发-ArkTS 中使用 filter 组件
harmonyos·鸿蒙·鸿蒙应用开发·鸿蒙开发·鸿蒙开发培训·arkts语言
李洋-蛟龙腾飞公司14 小时前
HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据
分布式·华为·harmonyos
Damon小智14 小时前
HarmonyOS NEXT 技术实践-实现音乐服务卡片
华为·harmonyos·鸿蒙·harmonyos next·服务卡片
play_big_knife14 小时前
鸿蒙项目云捐助第十七讲云捐助我的页面上半部分的实现
华为·harmonyos·鸿蒙·云开发·鸿蒙开发·鸿蒙next·华为云开发
枫叶丹420 小时前
【HarmonyOS之旅】HarmonyOS开发基础知识(三)
华为od·华为·华为云·harmonyos
SoraLuna1 天前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos