有好看图片的软件网站模板下载,深圳网站多少钱一年,wordpress本地速度慢,自己建设网站赚钱文章目录 一、HAR1.1 简介1.2 使用场景1.3 约束限制 二、HAP2.1 简介2.2 使用场景2.3 约束限制 三、HSP3.1 简介3.2 使用场景3.3 约束限制 四、小结 一、HAR
1.1 简介
HAR#xff08;Harmony Archive#xff09;是静态共享包#xff0c;可以包含代码、C库、资源和配置文件… 文章目录 一、HAR1.1 简介1.2 使用场景1.3 约束限制 二、HAP2.1 简介2.2 使用场景2.3 约束限制 三、HSP3.1 简介3.2 使用场景3.3 约束限制 四、小结 一、HAR
1.1 简介
HARHarmony Archive是静态共享包可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。
1.2 使用场景
作为二方库发布到OHPM私仓供公司内部其他应用使用。作为三方库发布到OHPM中心仓供其他应用使用。
1.3 约束限制
HAR不支持在设备上单独安装/运行只能作为应用模块的依赖项被引用。HAR不支持在配置文件中声明UIAbility组件与ExtensionAbility组件。HAR不支持在配置文件中声明pages页面但是可以包含pages页面并通过命名路由的方式进行跳转。HAR不支持引用AppScope目录中的资源。在编译构建时AppScope中的内容不会打包到HAR中因此会导致HAR资源引用失败。HAR可以依赖其他HAR但不支持循环依赖也不支持依赖传递。
二、HAP
2.1 简介
HAPHarmony Ability Package是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包其主要分为两种类型entry和feature。
entry应用的主模块作为应用的入口提供了应用的基础功能。feature应用的动态特性模块作为应用能力的扩展可以根据用户的需求和设备类型进行选择性安装。
应用程序包可以只包含一个基础的entry包也可以包含一个基础的entry包和多个功能性的feature包。
2.2 使用场景
单HAP场景如果只包含UIAbility组件无需使用ExtensionAbility组件优先采用单HAP即一个entry包来实现应用开发。虽然一个HAP中可以包含一个或多个UIAbility组件为了避免不必要的资源加载推荐采用“一个UIAbility多个页面”的方式。多HAP场景如果应用的功能比较复杂需要使用ExtensionAbility组件可以采用多HAP即一个entry包多个feature包来实现应用开发每个HAP中包含一个UIAbility组件或者一个ExtensionAbility组件。在这种场景下可能会存在多个HAP引用相同的库文件导致重复打包的问题。
2.3 约束限制
不支持导出接口和ArkUI组件给其他模块使用。多HAP场景下App Pack包中同一设备类型的所有HAP中必须有且只有一个Entry类型的HAPFeature类型的HAP可以有一个或者多个也可以没有。多HAP场景下同一应用中的所有HAP的配置文件中的bundleName、versionCode、versionName、minCompatibleVersionCode、debug、minAPIVersion、targetAPIVersion、apiReleaseType相同同一设备类型的所有HAP对应的moduleName标签必须唯一。HAP打包生成App Pack包时会对上述参数配置进行校验。多HAP场景下同一应用的所有HAP、HSP的签名证书要保持一致。上架应用市场是以App Pack形式上架应用市场分发时会将所有HAP从App Pack中拆分出来同时对其中的所有HAP进行重签名这样保证了所有HAP签名证书的一致性。在调试阶段开发者通过命令行或DevEco Studio将HAP安装到设备上时要保证所有HAP签名证书一致否则会出现安装失败的问题。
三、HSP
3.1 简介
HSPHarmony Shared Package是动态共享包可以包含代码、C库、资源和配置文件通过HSP可以实现应用内的代码和资源的共享。HSP不支持独立发布而是跟随其宿主应用的APP包一起发布与宿主应用同进程具有相同的包名和生命周期。仅支持应用内HSP不支持应用间HSP。
3.2 使用场景
多个HAP/HSP共用的代码和资源放在同一个HSP中可以提高代码、资源的可重用性和可维护性同时编译打包时也只保留一份HSP代码和资源能够有效控制应用包大小。HSP在运行时按需加载有助于提升应用性能。
3.3 约束限制
HSP不支持在设备上单独安装/运行需要与依赖该HSP的HAP一起安装/运行。HSP的版本号必须与HAP版本号一致。HSP不支持在配置文件中声明UIAbility组件与ExtensionAbility组件。HSP可以依赖其他HAR或HSP但不支持循环依赖也不支持依赖传递。
四、小结
简单来说
App是个上架概念多个HAP打包一起上架。HAP是可以独立运行、分发的HAP不是复用的复用的应该是HAR。HAR是静态共享包每个模块依赖的话都会打包到HAP里。