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第一课>应用程序框架基础

课程视频

相关推荐
SameX2 小时前
HarmonyOS Next 安全生态构建与展望
前端·harmonyos
SameX2 小时前
HarmonyOS Next 打造智能家居安全系统实战
harmonyos
Random_index9 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
鸿蒙自习室13 小时前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙
SuperHeroWu715 小时前
【HarmonyOS】鸿蒙应用接入微博分享
华为·harmonyos·鸿蒙·微博·微博分享·微博sdk集成·sdk集成
zhangjr057518 小时前
【HarmonyOS Next】鸿蒙实用装饰器一览(一)
前端·harmonyos·arkts
诗歌难吟4641 天前
初识ArkUI
harmonyos
SameX1 天前
HarmonyOS Next 设备安全特性深度剖析学习
harmonyos
郭梧悠1 天前
HarmonyOS(57) UI性能优化
ui·性能优化·harmonyos
郝晨妤2 天前
鸿蒙原生应用开发元服务 元服务是什么?和App的关系?(保姆级步骤)
android·ios·华为od·华为·华为云·harmonyos·鸿蒙