1# 包管理子系统<a name="ZH-CN_TOPIC_0000001061838370"></a> 2 3- [简介](#section11660541593) 4- [目录](#section1464106163817) 5- [编译构建/使用方法](#section1464106163819) 6- [使用说明](#section1464106163820) 7- [相关仓](#section93061357133720) 8 9## 简介<a name="section11660541593"></a> 10 11**包管理子系统**是OpenHarmony为开发者提供的应用安装包的管理框架,该模块实现的功能包括了应用的安装,卸载,升级,应用信息的查询和应用状态监听。当前仅支持在OpenHarmony的轻量级设备上运行,支持的设备包括穿戴手表,Hi3516DV300等。包管理子系统由如下模块组成: 12 13**图 1** 包管理子系统架构图<a name="fig1047932418305"></a> 14 15 16- **BundleKit**:是包管理服务对外提供的接口,有安装/卸载接口、包信息查询接口、包状态变化监听接口。 17- **包扫描子模块**:用来解析本地预制或者安装的安装包,提取里面的各种信息,供管理子模块进行管理,持久化。 18 19- **包安装子模块**:负责安装,卸载,升级一个包。 20- **包安装服务**:一个单独进程的用于创建删除安装目录,具有较高的权限。 21 22- **包管理子模块**:管理安装包相关的信息,存储持久化包信息。 23 24- **包安全管理子模块**:签名检查、权限授予、权限管理。 25 26## 目录<a name="section1464106163817"></a> 27 28``` 29/foundation/bundlemanager/bundle_framework_lite 30 ├── frameworks 31 │ └── bundle_lite # 管理BundleKit与包管理服务通信的客户端代码 32 ├── interfaces 33 │ ├── kits 34 │ │ └── bundle_lite # BundleKit为开发者提供的接口 35 │ └── inner_api 36 │ └── bundlemgr_lite # BundleKit实现的核心代码,及包管理服务为其它子系统提供的接口 37 ├── services 38 │ └── bundlemgr_lite # 包管理服务的实现代码 39 └── utils 40 └── bundle_lite # 包管理服务实现中用到的工具性的代码 41``` 42 43## 编译构建/使用方法 <a name="section1464106163819"></a> 44 45- 当前OpenHarmony使用hb工具进行编译,需在代码的根目录下执行,编译的命令如下: 46``` 47hb set # 选择需要烧录的设备类型 48hb build -f # 编译全量的代码 49hb build -T bundlems # 编译单个模块 50``` 51- 使用bm工具可以安装指定的hap包(以hispark\_taurus为例,bm工具在系统构建后放置在out/hispark\_taurus/ipcamera\_hispark\_taurus/dev\_tools/bin下): 52 53``` 54./bin/bm install -p /nfs/xxxx.hap # 安装xxxx.hap 55``` 56- 使用bm工具查询应用的信息,具体执行命令如下: 57 58``` 59./bin/bm dump -n 包名 # 查询对应包名的应用的包信息 60./bin/bm dump -l # 查询所有应用的包信息 61``` 62 63## 使用说明 <a name="section1464106163820"></a> 64 65- 包管理服务为BundleMs,服务运行于foudation进程中; 66- 系统启动后,BundleMs会随系统启动而启动; 67- BundleMs注册到sa\_manager中,sa\_manager运行于foundation进程中,sa\_manager为BundleMs创建线程运行环境。具体创建BundleMs服务的方式以及使用该服务的方式,可参考系统服务框架子系统; 68 69 70## 相关仓<a name="section93061357133720"></a> 71 72[ability\_ability\_lite](https://gitee.com/openharmony/ability_ability_lite/blob/master/README_zh.md) 73 74**bundlemanager\_bundle\_framework\_lite** 75 76