1.HAP、HSP、HAR区别

1.HAP:应用安装和运行的基本单元。支持在配置文件中声明abilities、extensionAbilities组件,支持在配置文件中声明pages页面。

主要使用场景:

Entry:应用的主模块,用于实现应用的入口界面、入口图标、主特性功能等。

Feature:应用的特性模块,用于实现应用的特性功能。

2.HAR:静态共享包。编译态复用,不支持在配置文件中声明abilities、extensionAbilities组件,不支持在配置文件中声明pages页面,支持Navigation组件导航。

主要使用场景:

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

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

3.HSP:动态共享包。运行时复用,不支持在配置文件中声明abilities、extensionAbilities组件,支持在配置文件中声明pages页面。

主要使用场景:

多模块共用的代码、资源可以使用HSP,提高代码的可重用性和可维护性。

元服务分包预加载。

2.OHPM 私仓概述

  • OHPM(OpenHarmony Package Manager)私仓是用于企业或开发者团队内部存储和管理 OpenHarmony 相关软件包的仓库。它类似于公共的软件仓库,但具有更高的隐私性和定制性,主要用于内部开发、测试和发布流程。
  1. 私仓的建立
    • 选择存储方式
      • 可以使用本地服务器或者云存储来搭建私仓。如果是本地服务器,需要确保服务器有足够的存储空间和稳定的网络连接。云存储方式则可以利用云服务提供商的资源,如阿里云、腾讯云等,这种方式更加灵活,便于远程团队访问。
    • 配置仓库服务软件
      • 常用的仓库服务软件有 verdaccio(适用于 Node.js 生态,也可用于 OHPM)等。以 verdaccio 为例,首先需要在服务器(本地或云端)上安装 verdaccio。安装完成后,通过配置文件(通常是config.yaml)来设置仓库的基本信息,如仓库名称、存储路径、用户认证方式等。
      • 在配置文件中,可以指定私仓的存储目录,例如:storage: /path/to/your/storage,这里/path/to/your/storage是实际存储软件包的路径。同时,还可以设置用户权限相关的配置,比如是否需要用户认证才能访问和上传软件包等。
  2. 软件包的上传和管理
    • 上传软件包
      • 首先,需要将软件包(如 OpenHarmony 应用包 HAP 或组件包)按照私仓要求的格式进行整理。一般来说,软件包应该包含必要的元数据,如包名称、版本号、依赖关系等信息。
      • 然后,使用 OHPM 命令或者相关的客户端工具将软件包上传到私仓。例如,假设已经配置好私仓的地址为http://your - private - repo - address,可以使用类似ohpm publish --registry http://your - private - repo - address [package - name].hap的命令来上传软件包,其中[package - name].hap是要上传的软件包名称。
    • 软件包管理
      • 在私仓中,可以对软件包进行版本管理。根据开发进度和需求,更新软件包的版本,并记录版本的变更信息,如修复的漏洞、新增的功能等。
      • 同时,还可以管理软件包的依赖关系。确保上传的软件包所依赖的其他组件也能够在私仓中正确存储和引用,避免出现依赖缺失的情况。

        

3. ​​​​​​​私仓的访问控制

  •  用户认证
    • 为了保护私仓的安全性,通常需要设置用户认证机制。可以采用用户名 / 密码的方式,或者基于令牌(Token)的认证方式。在配置仓库服务软件(如 verdaccio)时,通过设置相关的认证模块来实现。

4.与开发流程的集成

  • 在企业或团队的 OpenHarmony 开发流程中,私仓可以很好地集成到持续集成 / 持续交付(CI/CD)系统中。例如,在代码构建阶段,将生成的软件包自动上传到私仓,以便后续的测试和发布流程使用。
  • 在测试环境中,测试人员可以从私仓中拉取最新的软件包进行测试,测试完成后,根据测试结果反馈给开发人员进行修改和优化。当软件包通过测试后,再从私仓将其发布到正式的生产环境中,从而实现一个完整的开发 - 测试 - 发布流程。
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐