Stage模型应用程序包结构

news2024/9/21 22:37:07

目录

官网地址 

官网结构图

 开发态包结构

 工程目录结构

  配置文件

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.json5:app.json5配置文件,用于声明应用的全局配置信息,比如应用Bundle名称、应用名称、应用图标、应用版本号等。

Module_name > src > main > module.json5:module.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配置文件icon-default.png?t=N7T8https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-configuration-file-V5

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

课程视频 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1948106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于区块链技术的高校教育资源共享的研究

&#xff08;一&#xff09;项目背景 时代变迁下的高教管理革新需求 当前&#xff0c;我国高等教育体系深受行政化管理模式影响&#xff0c;其在指引办学方向、资源优化配置及院校稳定上功不可没。然而&#xff0c;随着社会主义市场经济体系的深化发展&#xff0c;该模式逐渐显…

opencv - py_calib3d - py_calibration 相机校准

文章目录 Camera Calibration 相机校准目标基础知识代码设置校准去失真1. 使用 **cv.undistort()**2. 使用 **remapping** 重新投影误差 Camera Calibration 相机校准 目标 在本节中&#xff0c;我们将学习 相机造成的失真类型如何找到相机的内在和外在属性如何根据这些属性…

代码随想录——一和零(Leetcode474)

题目链接 0-1背包 class Solution {public int findMaxForm(String[] strs, int m, int n) {// 本题m&#xff0c;n为背包两个维度// dp[i][j]:最多右i个0和j个1的strs的最大子集大小int[][] dp new int[m 1][n 1];// 遍历strs中字符串for(String str : strs){int num0 …

通信原理-思科实验三:无线局域网实验

实验三 无线局域网实验 一&#xff1a;无线局域网基础服务集 实验步骤&#xff1a; 进入物理工作区&#xff0c;导航选择 城市家园; 选择设备 AP0&#xff0c;并分别选择Laptop0、Laptop1放在APO范围外区域 修改笔记本的网卡&#xff0c;从以太网卡切换到无线网卡WPC300N 切…

若依 ruoyi poi Excel合并行的导入

本文仅针对文字相关的合并做了处理 &#xff0c;图片合并及保存需要另做处理&#xff01;&#xff01; 目标&#xff1a;Excel合并行内容的导入 结果&#xff1a; 1. ExcelUtil.java 类&#xff0c;新增方法&#xff1a;判断是否是合并行 /*** 新增 合并行相关代码&#xff1a;…

文件解析的终极工具:Apache Tika

文件解析的终极工具&#xff1a;Apache Tika Apache Tika 简介 Apache Tika 是一个开源的、跨平台的库&#xff0c;用于检测、提取和解析各种类型文件的元数据。 它支持多种文件格式&#xff0c;包括文档、图片、音频和视频。 Tika是一个底层库&#xff0c;经常用于搜索引擎…

Windows下ORACLE数据泵expdp和impdp使用

Windows下ORACLE数据泵expdp和impdp使用 一、基础环境 操作系统&#xff1a;Windows server 2008&#xff1b; 数据库版本&#xff1a;Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 数据库工具&#xff1a;PL/SQL 12.0.7 实验内容&…

springboot配置文件如何读取pom.xml的值

比如想读取profile.active的值&#xff0c;默认属性为pro 在maven中加入以下插件&#xff1a; <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version>&l…

FastGPT 源码调试配置

目录 一、添加 launch.json 文件 二、调试 本文简单介绍如何通过 vscode 对 FastGPT 进行调试。 这里假设已经安装 vsocde 和 FastGPT本地部署。 一、添加 launch.json 文件 vscode 打开 FastGPT 项目,点击 调试 -> 显示所有自动调试配置 -> 添加配置 -> Node.j…

AI视频生成器,堪称自媒体人的神器

Vozo Rewrite & Redub 是一款创新的视频编辑工具&#xff0c;可以通过简单的提示重写视频脚本、然后这个工具会自动给视频重新配音、翻译语音并口型同步&#xff0c;然后生成新的视频。 无论是将经典视频转变为病毒视频宣传片&#xff0c;还是将普通视频变成喜剧&#xff…

Vue2高级用法

Vue2高级用法 1、mixin复用【vue不会用了&#xff0c;了解一下】1.1 基础使用1.2 选项合并1.3 全局混入1.4 细数 mixin 存在的问题 2、vue.js 动画特效&#xff06; 常见组件库介绍2.1 进入/离开基础使用示例2.2 进入/离开自定义过度类名2.3 进入/离开动画钩子2.4 多组件过渡与…

pdf2image:将PDF文档转化为图像的Python魔法

标题&#xff1a;探索pdf2image&#xff1a;将PDF文档转化为图 像的Python魔法 背景 在数字时代&#xff0c;我们经常需要处理各种格式的文档&#xff0c;尤其是PDF文件。PDF以其跨平台的可读性和稳定性而广受欢迎。然而&#xff0c;有时我们需要将PDF文件转换成图像格式&am…

AI大模型学习笔记-gpt

多模态&#xff08;Multimodal&#xff09;技术指的是处理和整合来自多种不同类型数据&#xff08;模态&#xff09;的信息和方法。在计算机科学和人工智能领域&#xff0c;这种技术可以应用于多个方面&#xff0c;比如图像、文字、语音、视频等。这种技术的主要目标是通过整合…

Java中包,final,权限修饰符,代码块学习

&#xff08;这一小节我看的是面向对象进阶-13-包和final_哔哩哔哩_bilibili&#xff09; 包&#xff1a; final: Ctriln可以搜索包 细节&#xff1a;引用是记录的地址值&#xff0c;实际上final修饰的基本类型&#xff0c;引用类型实际上的数据都是不发生改变的。 权限修饰符…

什么是图纸加密软件,图纸加密软件推荐

图纸加密软件是一类专门用于保护CAD图纸和其他设计文件安全的工具。随着技术的发展&#xff0c;工程设计和制造业中的图纸和设计文件越来越多地以数字化形式存储和传输&#xff0c;这使得这些数据容易成为潜在的攻击目标。图纸加密软件通过对图纸文件进行加密保护&#xff0c;确…

AI学习记录 - 图像识别的基础入门

代码实现&#xff0c;图像识别入门其实非常简单&#xff0c;这里使用的是js&#xff0c;其实就是把二维数组进行公式化处理&#xff0c;处理方式如上图&#xff0c;不同的公式代表的不同的意义&#xff0c;这些意义网上其实非常多&#xff0c;这里就不细讲了。 const getSpecif…

python黑马笔记

运算符&#xff1a; 算术运算符&#xff1a; 加 - 减 * 乘 / 除 // 整除 % 取余 ** 求平方 除法计算得出的结果都是小数 赋值运算符&#xff1a; 标准赋值&#xff1a; 复合赋值&#xff1a; 、 - 、 * 、 / 、// 、 ** 字符串&#xff1a; 字符串拓展内容&#xf…

前端开发知识(三)-javascript

javascript是一门跨平台、面向对象的脚本语言。 一、引入方式 1.内部脚本&#xff1a;使用<script> &#xff0c;可以放在任意位置&#xff0c;也可以有多个&#xff0c;一般是放在<body></body>的下方。 2.外部脚本&#xff1a;单独编写.js文件&#xff…

十、SpringBoot 统⼀功能处理【拦截器、统一数据返回格式、统一异常处理】

十、SpringBoot 统⼀功能处理 1. 拦截器【HandlerInterceptor、WebMvcConfig】1.1 拦截器快速⼊⻔⾃定义拦截器&#xff1a;实现HandlerInterceptor接⼝&#xff0c;并重写其所有⽅法注册配置拦截器&#xff1a;实现WebMvcConfigurer接⼝&#xff0c;并重写addInterceptors⽅法…

从C到C++入门篇(三)引用;引用的本质

Reference & 引用 变量名&#xff0c;本身是一段内存的引用&#xff0c;即别名(alias)。此处引入的引用&#xff0c;是为己有变 量起一个别名。 int a 500; //变量名.实质是一段内存空间的别名 (int)0x0002345500; 引用的规则 引用&#xff0c;是一种关系型声明&#xff0…