鸿蒙开源组件——包管理组件

jiecho
发布于 2021-7-21 15:52
浏览
2收藏

用户程序框架内部使用的工具接口

简介

包管理组件,是OpenHarmony为开发者提供的安装包管理框架。包管理组件的由如下模块组成:

图 1 包管理组件框架图鸿蒙开源组件——包管理组件-鸿蒙开发者社区

  • BundleKit:是包管理服务对外提供的接口,有安装/卸载接口、包信息查询接口、包状态变化监听接口。

  • 包扫描子模块:用来解析本地预制或者安装的安装包,提取里面的各种信息,供管理子模块进行管理,持久化。

  • 包安装子模块:负责安装,卸载,升级一个包。

  • 包安装服务:一个单独进程的用于创建删除安装目录,具有较高的权限。

  • 包管理子模块:管理安装包相关的信息,存储持久化包信息。

  • 包安全管理子模块:签名检查、权限授予、权限管理。

目录

/foundation/appexecfwk/appexecfwk_lite
     ├── frameworks
     │      └── bundle_lite                # 管理BundleKit与包管理服务通信的客户端代码
     ├── interfaces
     │      ├── kits
     │      │     └── bundle_lite         # BundleKit为开发者提供的接口
     │      └── innerkits
     │             └── bundlemgr_lite      # BundleKit实现的核心代码,及包管理服务为其它子系统提供的接口
     ├── services
     │      └── bundlemgr_lite             # 包管理服务的实现代码
     └── utils
             └── bundle_lite                # 包管理服务实现中用到的工具性的代码
  • 包管理服务为BundleMs,服务运行于foudation进程中;
  • BundleMs注册到sa_manager中,sa_manager运行于foundation进程中,sa_manager为BundleMs创建线程运行环境。具体创建BundleMs服务的方式以及使用该服务的方式,可参考系统服务框架子系统;
  • 系统启动后,BundleMs会随系统启动而启动;
  • 使用bm工具可以安装指定的hap包(以hispark_taurus为例,bm工具在系统构建后放置在out/hispark_taurus/ipcamera_hispark_taurus/dev_tools/bin下):
    ./bin/bm install -p /nfs/xxxx.hap​

 

相关仓

用户程序框架子系统

aafwk_aafwk_lite

appexecfwk_appexecfwk_lite

openharmony-appexecfwk_appexecfwk_lite-m.zip 416.52K 2次下载
已于2021-7-21 15:52:02修改
收藏 2
回复
举报
回复
    相关推荐