关于鸿蒙系统中的包管理组件

微生香岚
发布于 2021-9-9 21:03
浏览
0收藏

简介

包管理组件,是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

appexecfwk_appexecfwk_lite-master.zip 421.46K 11次下载
已于2021-9-9 21:03:28修改
收藏
回复
举报
回复
    相关推荐