|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| bundle_tool/ | | 12-May-2024 | - | 12,210 | 8,986 |
| common/ | | 12-May-2024 | - | 1,428 | 902 |
| distributed_bundle_framework/ | | 12-May-2024 | - | 4,700 | 3,589 |
| figures/ | | 12-May-2024 | - | | |
| interfaces/ | | 12-May-2024 | - | 54,916 | 43,978 |
| sa_profile/ | | 12-May-2024 | - | 50 | 31 |
| services/ | | 12-May-2024 | - | 110,622 | 81,096 |
| test/ | | 12-May-2024 | - | 68,205 | 49,426 |
| .gitattributes | D | 12-May-2024 | 1 | | |
| BUILD.gn | D | 12-May-2024 | 1.6 KiB | 48 | 43 |
| LICENSE | D | 12-May-2024 | 10.1 KiB | 177 | 150 |
| OAT.xml | D | 12-May-2024 | 4 KiB | 70 | 16 |
| README_zh.md | D | 12-May-2024 | 8.5 KiB | 195 | 170 |
| appexecfwk.gni | D | 12-May-2024 | 5.1 KiB | 141 | 121 |
| bundle.json | D | 12-May-2024 | 4.8 KiB | 127 | 126 |
| hisysevent.yaml | D | 12-May-2024 | 5.8 KiB | 133 | 98 |
README_zh.md
1# **包管理子系统**
2
3## 简介
4
5包管理子系统负责应用安装包的管理,提供安装包的信息查询、安装、更新、卸载和包信息存储等能力。具体功能如下:
6
7包管理子系统架构如下图所示:
8
9
10
11
12## 部件内子模块职责
13
14| 子模块名称 | 职责 |
15| ---------------- | ------------------------------------------------------------ |
16| 包管理接口模块 | 1.对外提供的安装更新卸载及通知接口;<br>2.对外提供的包/组件信息/权限信息查询接口;<br>3.对外提供的应用权限查询接口;<br>4.对外提供的清除数据的接口; |
17| 扫描模块 | 1.预置应用的扫描;<br>2.已安装三方应用的扫描;<br>3.包配置文件的解析; |
18| 安全管理模块 | 1.安装过程中的签名校验;<br>2.安装过程中应用所申请权限的授予;<br>3.应用运行中权限的校验; |
19| DBMS模块 | 1.获取指定设备ability信息; |
20| 安装管理模块 | 1.安装、更新、卸载逻辑处理及结果通知; |
21| 包信息管理模块 | 1.包信息、组件信息的存储及同步; |
22| 设备状态监听模块 | 1.监听设备的上下线; |
23| Installd模块 | 特权进程:<br>1)用于创建、删除等目录操作;<br>2)用于创建、删除等文件操作;<br>3)用于设备目录的沙箱uid/gid等操作 |
24| DFX | 1.包管理维测工具 |
25
26
27## 目录
28
29```
30foundation/bundlemanager/bundle_framework
31├── bundle_tool # bm工具存放目录
32├── distributed_bundle_framework # 分布式包管理服务框架代码
33├── common
34│ └── log # 日志组件目录
35├── interfaces
36│ ├── inner_api # 内部接口存放目录
37│ └── kits # 应用接口
38│ ├── js # JS接口
39│ └── native # C/C++接口
40├── services # 包管理服务框架代码
41└── test # 测试目录
42```
43
44### bm工具命令
45bm是用来方便开发者调试的一个工具。bm工具被hdc工具封装,进入hdc shell命令后,就可以使用bm工具。
46| 命令 | 描述 |
47| ------- | ---------- |
48| help | 帮助命令,显示bm支持的命令信息 |
49| install | 安装命令,用来安装应用|
50| uninstall | 卸载命令,用来卸载应用|
51| dump | 查询命令,用来查询应用的相关信息|
52| clean | 清理命令,用来清理应用的缓存和数据 |
53| enable | 使能命令,用来使能应用 |
54| disable | 禁用命令,用来禁用应用 |
55| get | 获取udid命令,用来获取设备的udid |
56| quickfix | 快速修复相关命令,用来执行补丁相关操作,如补丁安装、补丁查询 |
57#### 帮助命令
58| 命令 | 描述 |
59| ------- | ---------- |
60| bm help | 显示bm工具的能够支持的命令信息 |
61
62* 示例
63```Bash
64# 显示帮助信息
65bm help
66```
67#### 安装命令
68命令可以组合,下面列出部分命令。
69| 命令 | 描述 |
70| ----------------------------------- | -------------------------- |
71| bm install -h | 显示install支持的命令信息 |
72| bm install -p <file-path> | 安装应用,支持指定路径和多个hap、hsp同时安装 |
73| bm install -p <file-path> -u <user-id> |给指定用户安装一个应用 |
74| bm install -r -p <file-path> | 覆盖安装一个应用 |
75| bm install -r -p <file-path> -u <user-id> | 给指定用户覆盖安装一个应用 |
76| bm install -r -p <file-path> -u <user-id> -w <waitting-time> | 安装时指定bm工具等待时间,最小的等待时长为5s,最大的等待时长为600s, 默认缺省为5s |
77
78* 示例
79```Bash
80# 安装一个hap
81bm install -p /data/app/ohosapp.hap
82# 覆盖安装一个hap
83bm install -p /data/app/ohosapp.hap -r
84```
85#### 卸载命令
86命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。
87| 命令 | 描述 |
88| ----------------------------- | ------------------------ |
89| bm uninstall -h | 显示uninstall支持的命令信息 |
90| bm uninstall -n <bundle-name> | 通过指定包名卸载应用 |
91| bm uninstall -n <bundle-name> -u <user-id>| 通过指定包名和用户卸载应用 |
92| bm uninstall -n <bundle-name> -m <moudle-name> | 通过指定包名卸载应用的一个模块 |
93
94* 示例
95```Bash
96# 卸载一个应用
97bm uninstall -n com.ohos.app
98# 卸载应用的一个模块
99bm uninstall -n com.ohos.app -m com.ohos.app.MainAbility
100```
101#### 查询命令
102命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。
103| 命令 | 描述 |
104| ---------- | -------------------------- |
105| bm dump -h | 显示dump支持的命令信息 |
106| bm dump -a | 查询系统已经安装的所有应用 |
107| bm dump -n <bundle-name> | 查询指定包名的详细信息 |
108| bm dump -n <bundle-name> -s | 查询指定包名下的快捷方式信息 |
109| bm dump -n <bundle-name> -d <device-id> | 跨设备查询包信息 |
110| bm dump -n <bundle-name> -u <user-id> | 查询指定用户下指定包名的详细信息 |
111
112* 示例
113```Bash
114# 显示所有已安装的包名
115bm dump -a
116# 显示该应用的详细信息
117bm dump -n com.ohos.app
118```
119#### 清理命令
120-u未指定情况下,默认为当前活跃用户。
121| 命令 | 描述 |
122| ---------- | -------------------------- |
123| bm clean -h | 显示clean支持的命令信息 |
124| bm clean -n <bundle-name> -c | 清除指定包名的缓存数据 |
125| bm clean -n <bundle-name> -d | 清除指定包名的数据目录 |
126| bm clean -n <bundle-name> -c -u <user-id> | 清除指定用户下包名的缓存数据 |
127| bm clean -n <bundle-name> -d -u <user-id> | 清除指定用户下包名的数据目录 |
128
129* 示例
130```Bash
131# 清理该应用下的缓存数据
132bm clean -n com.ohos.app -c
133# 清理该应用下的用户数据
134bm clean -n com.ohos.app -d
135```
136#### 使能命令
137-u未指定情况下,默认为当前活跃用户。
138| 命令 | 描述 |
139| ---------- | -------------------------- |
140| bm enable -h | 显示enable支持的命令信息 |
141| bm enable -n <bundle-name> | 使能指定包名的应用 |
142| bm enable -n <bundle-name> -a <ability-name> | 使能指定包名下的元能力模块 |
143| bm enable -n <bundle-name> -u <user-id>| 使能指定用户和包名的应用 |
144
145* 示例
146```Bash
147# 使能该应用
148bm enable -n com.ohos.app
149```
150#### 禁用命令
151-u未指定情况下,默认为当前活跃用户。
152| 命令 | 描述 |
153| ---------- | -------------------------- |
154| bm disable -h | 显示disable支持的命令信息 |
155| bm disable -n <bundle-name> | 禁用指定包名的应用 |
156| bm disable -n <bundle-name> -a <ability-name> | 禁用指定包名下的元能力模块 |
157| bm disable -n <bundle-name> -u <user-id>| 禁用指定用户和包名下的应用 |
158
159* 示例
160```Bash
161# 禁用该应用
162bm disable -n com.ohos.app
163```
164#### 获取udid命令
165| 命令 | 描述 |
166| ---------- | -------------------------- |
167| bm get -h | 显示get支持的命令信息 |
168| bm get -u | 获取设备的udid |
169
170* 示例
171```Bash
172# 获取设备的udid
173bm get -u
174```
175
176#### 快速修复命令
177| 命令 | 描述 |
178| ---------- | -------------------------- |
179| bm quickfix -h | 显示quickfix支持的命令信息 |
180| bm quickfix -a -f <file-path> | 执行补丁安装命令 |
181| bm quickfix -q -b <bundle-name> | 根据包名查询补丁包信息 |
182
183* 示例
184```Bash
185# 根据包名查询补丁包信息
186bm quickfix -q -b <bundle-name>
187```
188## 相关仓
189
190[包管理子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%8C%85%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
191
192[bundlemanager_bundle_framework](https://gitee.com/openharmony/bundlemanager_bundle_framework)
193
194[developtools_packing_tool](https://gitee.com/openharmony/developtools_packing_tool)
195