Stage模型应用程序包结构

目录

官网地址

官网结构图

开发态包结构

工程目录结构

配置文件

module.json5配置文件

app.json5配置文件


官网地址

官网地址 包结构

官网结构图

开发态包结构

在DevEco Studio上创建一个项目工程,并尝试创建多个不同类型的Module(类似一个一个的页面块)
说明

  • AppScope目录由DevEco Studio自动生成,不可更改。
  • Module目录名称可以由DevEco Studio自动生成(比如entry、library等),也可以自定义。为了便于说明,下表中统一采用Module_name表示。

1

工程目录结构

官网文档工程目录结构

  • AppScope > app.json5:应用的全局配置信息。
  • entry: 应用/服务模块,编译构建生成一个HAP。
    • src > main > ets:用于存放ArkTS源码。
    • src > main > ets > entryability:应用/服务的入口。
    • src > main > ets > pages:应用/服务包含的页面。
    • src > main > resources: 用于存放应用/服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件的详细说明请参考资源分类与访问
资源目录 资源文件说明
base>element 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: * boolean.json:布尔型 * color.json:颜色 * float.json:浮点型 * intarray.json:整型数组 * integer.json:整型 * pattern.json:样式 * plural.json:复数形式 * strarray.json:字符串数组 * string.json:字符串值
base>media 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png.gif.mp3.mp4等。
rawfile 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
  • src > main > module.json5 :Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。具体请参考module.json5配置文件
  • **build-profile.json5:**当前的模块信息、编译信息配置项,包括buildOption、targets配置等。

build-profile.json5文件分为工程级模块级,其中buildOption在工程级文件和模块级文件均可配置,其中相同字段以模块级的字段为准,不同字段模块级的buildOption配置会继承工程级配置。

  • hvigorfile.ts:模块级编译构建任务脚本。
  • oh-package.json5:描述三方包的包名、版本、入口文件(类型声明文件)和依赖项等信息。

从OHPM 5.0.0版本开始,支持区分工程级与模块级oh-package.json5配置。其中:

  • 工程级oh-package.json5文件:位于工程根目录下,主要用来描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等,详情请见:工程级oh-package.json5 字段说明
  • 模块级oh-package.json5文件:位于工程各个模块的根目录下,用来描述包名、版本、入口文件(类型声明文件)和依赖项等信息,详情请见:模块级oh-package.json5 字段说明
  • oh_modules:用于存放三方库依赖信息,包含应用/服务所依赖的第三方库文件。

配置文件

包括应用级配置信息、以及Module级配置信息:

  • AppScope > app.json5app.json5配置文件,用于声明应用的全局配置信息,比如应用Bundle名称、应用名称、应用图标、应用版本号等。

  • Module_name > src > main > module.json5module.json5配置文件,用于声明Module基本信息、支持的设备类型、所含的组件信息、运行所需申请的权限等。

module.json5配置文件

官网地址module.json5配置文件

具体看官网,这里只列出部分

属性名称 含义 数据类型 是否可缺省
name 标识当前Module的名称,确保该名称在整个应用中唯一。取值为长度不超过31字节的字符串,不支持中文。 应用升级时允许修改该名称,但需要应用适配Module相关数据目录的迁移,详见文件管理接口 字符串 该标签不可缺省。
type 标识当前Module的类型。支持的取值如下: - entry:应用的主模块。 - feature:应用的动态特性模块。 - har:静态共享包模块。 - shared:动态共享包模块。 字符串 该标签不可缺省。
description 标识当前Module的描述信息,取值为长度不超过255字节的字符串,可以采用字符串资源索引格式。 例如; "description": "$string:module_desc", 字符串 该标签可缺省,缺省值为空。
mainElement 标识当前Module的入口UIAbility名称或者ExtensionAbility名称,取值为长度不超过255字节的字符串。 字符串 该标签可缺省,缺省值为空。
deviceTypes 标识当前Module可以运行在哪类设备上。 字符串数组 该标签不可缺省。
deliveryWithInstall 标识当前Module是否在用户主动安装的时候安装,即该Module对应的HAP是否跟随应用一起安装。 - true:主动安装时安装。 - false:主动安装时不安装。 布尔值 该标签不可缺省。
installationFree 标识当前Module是否支持免安装特性。 - true:表示支持免安装特性,且符合免安装约束。 - false:表示不支持免安装特性。 说明:bundleType为元服务时,该字段需要配置为true。反之,该字段需要配置为false。 布尔值 该标签不可缺省。
pages 标识当前Module的profile资源,用于列举每个页面信息,取值为长度不超过255字节的字符串。 例如 "pages": "$profile:main_pages", // 通过profile下的资源文件配置 字符串 在有UIAbility的场景下,该标签不可缺省。
requestPermissions 标识当前应用运行时需向系统申请的权限集合。 例如:网络权限 "requestPermissions": [{ "name": "ohos.permission.INTERNET", }], 对象数组 该标签可缺省,缺省值为空。
abilities 标识当前Module中UIAbility的配置信息,只对当前UIAbility生效。 对象数组 该标签可缺省,缺省值为空

app.json5配置文件

官网地址app.json5配置文件https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-configuration-file-V5

<HarmonyOS第一课>应用程序框架基础

课程视频

相关推荐
梦想不只是梦与想2 小时前
鸿蒙 测试工具:DevEco Testing(一)
测试工具·harmonyos·testing
大锅盖14 小时前
Web 工单要调用相机,第一步不是打开取景框,而是建立能力门禁
前端·数码相机·harmonyos
贾伟康8 小时前
【华夏二十四节气|07】HarmonyOS 6.0.2(22) ArkTS 节气搜索实战:多字段匹配与四态闭环
移动开发·harmonyos·arkts·arkui·本地搜索
大龄秃头程序员9 小时前
Flutter 项目鸿蒙适配实战:从环境搭建到多环境打包全指南
harmonyos
贾伟康11 小时前
【万能转换器|18】HarmonyOS ArkTS 权限与隐私实战:让 module.json5、功能说明和拒绝路径一致
移动开发·harmonyos·arkts·权限管理·隐私合规
贾伟康11 小时前
【万能转换器|19】HarmonyOS ArkTS 回归测试实战:覆盖启动、空数据、异常输入和重复点击
软件测试·移动开发·harmonyos·arkts·回归测试
UnicornIT12 小时前
【HarmonyOS】时间管理类APP:做成“自适应“
ui·华为·harmonyos·鸿蒙
less_1213812 小时前
HarmonyOS WPS Open SDK:不落地、水印与功能开关的合规打开策略
华为·harmonyos·wps
贾伟康13 小时前
【万能转换器|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明
移动开发·harmonyos·arkts·appgallery·应用发布
OH_TPC1 天前
HarmonyOS APP开发---“滤镜大师“图像处理App,需要用到这个库
java·图像处理·华为·harmonyos·鸿蒙