当前位置: 首页 > article >正文

Stage 模型应用程序包的结构

AppScope 目录是工具自动生成的
Module 则是工具自动生成的 entry、library,也可以自定义。

Module 类型

Module 有两种类型:

  • Ability 类型的 Module:用来实现应用功能和特性,每一个 Ability 类型的 Module 编译以后。生成一个 hap 后缀的文件,也就是 HAP 包,可以独立安装和运行,是应用安装的基本单元。
  • Library类型的Module:实现代码和资源共享,同一个Library类型的Module 可以被多个其他的 Module 引用。

配置文件

应用级配置:在 AppScope 目录下的 app.json5,
Module 级配置信息:在 main 下的 module.json5 文件。

app.json5:

  1. 应用的 Bundle 名称,用来标识应用的唯一性
  2. 应用向用户展示的应用版本号
  3. 应用图标
  4. 应用名称等等

module.json5:

  1. 当前 Modlue 可以运行在哪些类型设备上
  2. 当前模块的入口 UIAbility 代码路径
  3. 当前 Module 中的 UIAbility 组件的配置信息
  4. 当前模块的路由表路径信息
  5. 当前应用运行时需要向系统申请使用网络权限

ArkTS 源码文件:Module_name > src > main > ets:用于存放Module的ArkTS源码文件(.ets文件)。

其他的配置:
build-profile.json5:Module 级的构建配置文件,包括了应用签名、产品配置等等
hvigorfile.ts:编译构建任务脚本,开发者可以自定义编译构建工具版本、控制构建行且的配置参数
obfuscation-rules.txt:混淆规则文件,开启混淆以后,在适应 release 模式进行编译,就会对代码进行编译、混淆以及压缩处理,保护代码资产。
oh-package.json5:用来存放依赖信息,也包括第三方依赖和共享库。

资源文件

AppScope > resources :用于存放应用需要用到的资源文件。
Module_name > src > main > resources :用于存放该Module需要用到的资源文件。

element:元素资源目录,包含了颜色、数字、字符串等

media 目录存放图片、音频和视屏等媒体文件

profile 目录存放页面配置、卡片配置等文件

rawfile:被直接打包进应用,不经过编译,也不会被赋予资源文件 ID

开发和打包后结构如下图:

在这里插入图片描述

ArkTS 源码编译生成.abc 文件;
resource 目录编译的时候,AppScope 目录下的资源文件会合并到 Module 下面的资源目录下,如果出现重名,只保留 AppScope 目录下的资源文件
配置文件在编译的时候,AppScope 目录下的 app.json5 文件字段会并到 Module 下面的 module.json5 文件,然后生成 HAP 或者 HSP 最终的 module.json。


http://www.kler.cn/news/293010.html

相关文章:

  • Java设计模式【命令模式】-行为型
  • 国内领先线上运动平台:如何借助AI技术实现业务腾飞与用户体验升级
  • HarmonyOS开发实战( Beta5版)合理使用动画丢帧规范实践
  • 替换Windows AD时,网络准入场景如何迁移对接国产身份域管?
  • Linux——中间件、数据库(理论)
  • 2024高教社杯全国大学生数学建模竞赛(A题)深度剖析 _ 建模完整过程+详细思路+代码全解析
  • Quartz.Net_依赖注入
  • GitHub Copilot的详细介绍
  • RHCE必过技巧,无需本人参加也可拿证?
  • 紫光展锐完成Android 15同步升级,驱动技术创新与生态共赢
  • 【区块链 + 人才服务】紫金研究院知识库管理系统 | FISCO BCOS应用案例
  • GAMES101(0~1作业)
  • django企业开发实战-学习小结1
  • hiprint打印/jsPDF使用/html2canvas
  • 本地使用Docker部署Nexus Maven私有仓库工具结合内网穿透实现远程管理
  • AI学习记录 - 旋转位置编码
  • python爬虫教学(四) Bs4
  • 最新版本是 FL Studio 的 24.1.1.4285 2024/08/07发布
  • 【2024数模国赛赛题思路公开】国赛C题第二套思路丨附可运行代码丨无偿自提
  • VS2022如何安装Spy+
  • ansible实战自动化运维项目
  • 优化 Webpack 打包体积的思路
  • vue3 uni app端使用uCharts
  • 华为鸿蒙系统和安卓的区别
  • java后端框架
  • 【Python机器学习】NLP词频背后的含义——反馈及改进
  • 数值分析中插值法和拟合法的对比
  • C++模板(初识)
  • 赞奇科技与华为云共襄828 B2B企业节,激活数字内容“云”创作
  • 高级java每日一道面试题-2024年9月01日-基础篇-事务的四个特性(ACID)分别是什么?