首页 > 其他分享 >Stage模型

Stage模型

时间:2024-08-08 10:52:45浏览次数:10  
标签:文件 配置文件 模型 Module 编译 HSP 应用 Stage

一、Stage模型的设计思想

二、工程目录结构介绍 

         

        1、开发态包结构

         

文件类型说明
配置文件

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

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

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

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

包括应用级资源文件、以及Module级资源文件,支持图形、多媒体、字符串、布局文件等。

AppScope > resources :用于存放应用需要用到的资源文件。

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

其他配置文件

用于编译构建,包括构建配置文件、编译构建任务脚本、混淆规则文件、依赖的共享包信息等。

build-profile.json5:工程级或Module级的构建配置文件,包括应用签名、产品配置等。

hvigorfile.ts:应用级或Module级的编译构建任务脚本,开发者可以自定义编译构建工具版本、控制构建行为的配置参数。

obfuscation-rules.txt:混淆规则文件。混淆开启后,在使用Release模式进行编译时,会对代码进行编译、混淆及压缩处理,保护代码资产。

oh-package.json5:用于存放依赖库的信息,包括所依赖的三方库和共享包。

        2、编译态包结构

         

从开发态到编译态,Module中的文件会发生如下变更:

  • ets目录:ArkTS源码编译生成.abc文件。
  • resources目录:AppScope目录下的资源文件会合入到Module下面资源目录中,如果两个目录下存在重名文件,编译打包后只会保留AppScope目录下的资源文件。
  • module配置文件:AppScope目录下的app.json5文件字段会合入到Module下面的module.json5文件之中,编译后生成HAP或HSP最终的module.json文件。

         3、发布态包结构

        每个应用中至少包含一个.hap文件,可能包含若干个.hsp文件、也可能不含,一个应用中的所有.hap与.hsp文件合在一起称为Bundle,其对应的bundleName是应用的唯一标识。

        当应用发布上架到应用市场时,需要将Bundle打包为一个.app后缀的文件用于上架,这个.app文件称为App Pack(Application Package),与此同时,DevEco Studio工具自动会生成一个pack.info文件。pack.info文件描述了App Pack中每个HAP和HSP的属性,包含APP中的bundleName和versionCode信息、以及Module中的name、type和abilities等信息。

        

        4、HAP、HAR、HSP

Module类型包类型说明
AbilityHAP应用的功能模块,可以独立安装和运行,必须包含一个entry类型的HAP,可选包含一个或多个feature类型的HAP。
Static LibraryHAR

静态共享包,编译态复用。

- 支持应用内共享,也可以发布后供其他应用使用。

- 作为二方库,发布到OHPM私仓,供公司内部其他应用使用。

- 作为三方库,发布到OHPM中心仓,供其他应用使用。

- 多包(HAP/HSP)引用相同的HAR时,会造成多包间代码和资源的重复拷贝,从而导致应用包膨大。

- 注意:编译HAR时,建议开启混淆能力,保护代码资产。

Shared LibraryHSP

动态共享包,运行时复用。

- 当前仅支持应用内共享。

- 当多包(HAP/HSP)同时引用同一个共享包时,采用HSP替代HAR,可以避免HAR造成的多包间代码和资源的重复拷贝,从而减小应用包大小。

         HAP、HAR、HSP区别:

规格HAPHARHSP
支持在配置文件中声明UIAbility组件与ExtensionAbility组件××
支持在配置文件中声明​​​​​​​pages页面×
支持包含资源文件与.so文件
支持依赖其他HAR文件
支持依赖其他HSP文件
支持在设备上独立安装运行××

标签:文件,配置文件,模型,Module,编译,HSP,应用,Stage
From: https://blog.csdn.net/sinat_34896766/article/details/141020578

相关文章

  • 全网独一份!AI大模型学习训练资源...
    如何学习AI大模型?我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传......
  • 视频编辑的新助手:基于大模型的智能代理
    人工智能咨询培训老师叶梓转载标明出处视频编辑的复杂性对于初学者来说是一个不小的挑战。为了降低这一门槛,一项由Meta、多伦多大学和加州大学圣地亚哥分校的研究团队共同提出的新技术——LAVE系统,为视频编辑带来了革命性的改变。LAVE系统旨在通过集成大型语言模型(LLMs)到视......
  • 告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
    告别HuggingFace模型下载难题:掌握高效下载策略,畅享无缝开发体验Huggingface国内开源镜像:https://hf-mirror.com/里面总结了很多下载的方法,下面进行一一讲解方法一:网页下载在模型主页的FilesandVersion中中可以获取文件的下载链接。无需登录直接点击下载,还可以复制下载......
  • 预训练大语言模型综述来了!中国人民大学教授发表包含了416个参考文献的大语言模型综述
    尽管大语言模型在最近今年发展十分迅速,但是相关的综述却相对比较落后。本文是由中国人民大学教授WayneXinZhao等人前几天刚公开的关于大语言模型的综述,论文正文部分共32页,包含了416个参考文献。内容十分详实。这份大模型综述我已经打包好了,还有完整版的大模型AI学习资......
  • 大模型新人成长记:避开那些坑,少走三年弯路
    这篇文章,我将结合自己在大模型领域的经验,给大家详细聊聊新人应该如何转行大模型赛道?比如大模型都有哪些方向?各方向的能力要求和岗位匹配?新手转行大模型常踩的坑和常见的误区?以及入行大模型最顺滑的路径?如果你是正打算入行大模型的校招/社招同学,请一定看完,可能会让你在入行......
  • 下载量10w+!LLM新书《大型语言模型:语言理解和生成》pdf免费分享
    下载量10w+!LLM新书《大型语言模型:语言理解和生成》pdf免费分享近年来,人工智能在新语言能力方面取得了显著进展,深度学习技术的快速发展推动了语言AI系统在文本编写和理解方面的表现。这一趋势催生了许多新功能、产品和整个行业的兴起。书旨在为Python开发者提供实用......
  • ModuleNotFoundError:加载模型时没有名为“sklearn”的模块
    importpicklemodell=pickle.load(open('model.pkl','rb'))我想加载并打开该文件,以便我应用函数来检查AI模型,但它们显示ModuleNotFoundError:Nomodulenamed'sklearn'错误。我不知道为什么我有这个错误,不需要odsklearn。当尝试运行需要安装Scikit-......
  • 语言大模型
    大语言模型:大所指代的包括三点参数量大,处理自然语言的问题十分繁琐,大量的参数可以满足模型所需要的复杂性。数据量大,大语言模型的训练需要大量的数据来保证其输出内容的准确性,泛化性。复杂性大,处理语言问题需要较强的复杂性。模型的作用是处理,分析和生成数据。模型通过调......
  • 模型压缩-模型蒸馏、模型剪枝、模型量化
    一、模型蒸馏1.1简介知识蒸馏是指通过教师模型指导学生模型训练,通过蒸馏的方式让学生模型学习到教师模型的知识,最终使学生模型达到或媲美教师模型的准确度。在模型压缩中,教师模型是一个预训练好的复杂的模型,而学生模型是一个规模较小的模型。如分类任务中,由训练好的教......
  • 【EA电池SPM参数化】Matlab构建的简化单粒子SPM电化学模型,ESP,SP,包含测试数据,参数辨识
        ......