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:工程级依赖配置文件,用于记录引入包的配置信息

相关推荐
酣大智32 分钟前
华为端口隔离(port‑isolate)
网络·华为
lilian2331 小时前
Harmony os 技术实战|拼豆制图46:图片解码失败为何不能悄悄返回示例图
前端·javascript·华为·harmonyos
YM52e1 小时前
鸿蒙 ArkTS 实战|防渣万能执行方案:五阶段防御体系 + 红线清单的代码实现
学习·华为·harmonyos
m0_7496902316 小时前
【寻迹校园 HarmonyOS NEXT 实战 16】Preferences 还是 RelationalStore:HarmonyOS 本地存储选型实战
华为·harmonyos·arkts·preferences·relationalstore
2501_9197490318 小时前
华为鸿蒙免费听歌APP—小羊免费听歌
华为·harmonyos·鸿蒙
OH_TPC19 小时前
HarmonyOS APP开发---"祝福圈"节日贺卡App,需要用到这个库
harmonyos
m0_7496902321 小时前
【寻迹校园 HarmonyOS NEXT 实战 31】举报去重怎么做:同一记录的重复投诉不应制造多条处理中案件
harmonyos·arkts·relationalstore·内容治理·举报去重
贾伟康1 天前
【中国方言题库|11】HarmonyOS ArkTS 学习统计实战:计算地区学习进度与收藏数量
harmonyos·arkts·arkui·数据统计·多设备适配
用户1269550879141 天前
RK3588 + OpenHarmony 6.1 RKNN2 NPU 验证指南
harmonyos