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

相关推荐
dawn3 小时前
鸿蒙ArkTS中的获取网络数据
华为·harmonyos
桃花键神3 小时前
鸿蒙5.0时代:原生鸿蒙应用市场引领开发者服务新篇章
华为·harmonyos
鸿蒙自习室3 小时前
鸿蒙多线程开发——并发模型对比(Actor与内存共享)
华为·harmonyos
JavaPub-rodert4 小时前
鸿蒙生态崛起:开发者的机遇与挑战
华为·harmonyos
帅比九日6 小时前
【HarmonyOS Next】封装一个网络请求模块
前端·harmonyos
yilylong8 小时前
鸿蒙(Harmony)实现滑块验证码
华为·harmonyos·鸿蒙
baby_hua8 小时前
HarmonyOS第一课——DevEco Studio的使用
华为·harmonyos
HarmonyOS_SDK8 小时前
融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
harmonyos
- 羊羊不超越 -10 小时前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos
长弓三石11 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙