• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# bm工具
2
3
4Bundle Manager(包管理工具,简称bm)是实现应用安装、卸载、更新、查询等功能的工具,bm为开发者提供基本的应用安装包的调试能力,例如:安装应用,卸载应用,查询安装包信息等。
5
6> **说明:**
7>
8> 在使用本工具前,开发者需要先获取[hdc工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md),执行hdc shell。
9
10
11  **表1** bm工具命令列表
12
13| 命令 | 描述 |
14| -------- | -------- |
15| help | 帮助命令,显示bm支持的命令信息 |
16| install | 安装命令,用来安装应用 |
17| uninstall | 卸载命令,用来卸载应用 |
18| dump | 查询命令,用来查询应用的相关信息 |
19| clean | 清理命令,用来清理应用的缓存和数据 |
20| enable | 使能命令,用来使能应用,使能后应用可以继续使用 |
21| disable | 禁用命令,用来禁用应用,禁用后应用无法使用 |
22| get | 获取udid命令,用来获取设备的udid |
23| quickfix | 快速修复相关命令,用来执行补丁相关操作,如补丁安装、补丁查询 |
24
25
26## 帮助命令
27
28  **表2** help命令列表
29
30| 命令 | 描述 |
31| -------- | -------- |
32| bm help | 显示bm工具的能够支持的命令信息 |
33
34示例:
35
36
37```bash
38# 显示帮助信息
39bm help
40```
41
42
43## 安装命令
44
45```bash
46bm install [-h] [-p path] [-u userId] [-r] [-w waitting-time]
47```
48
49
50  **表3** 安装命令列表
51
52| 命令 | 是否必选 | 描述 |
53| -------- | -------- | -------- |
54| -h | 否,默认输出帮助信息 | 显示install支持的命令信息 |
55| -p | 是 | 安装HAP包路径,支持指定路径和多个HAP同时安装 |
56| -u | 否,默认安装到当前所有用户上 | 给指定用户安装一个HAP包 |
57| -r | 否,默认值为覆盖安装 | 覆盖安装一个HAP包 |
58| -w | 否,默认等待5s | 安装HAP包时指定bm工具等待时间,最小的等待时长为5s,最大的等待时长为600s, 默认缺省为5s |
59
60
61示例:
62
63```bash
64bm install -p /data/app/ohosapp.hap -u 100 -w 5s -r
65// 执行结果
66install bundle successfully.
67```
68
69
70## 卸载命令
71
72```bash
73bm uninstall [-h help] [-n bundleName] [-m moduleName] [-u userId] [-k]
74```
75
76
77  **表4** 卸载命令列表
78
79| 命令 | 是否必选 | 描述 |
80| -------- | -------- | -------- |
81| -h | 否,默认输出帮助信息 | 显示uninstall支持的命令信息 |
82| -n | 是 | 指定包名卸载应用 |
83| -m | 否,默认卸载所有模块 | 指定卸载应用的一个模块 |
84| -u | 否,默认卸载当前所有用户下该应用 | 指定用户卸载应用 |
85| -k | 否,默认卸载应用时不保存应用数据 | 卸载应用时保存应用数据 |
86
87
88示例:
89
90```bash
91bm uninstall -n com.ohos.app -m com.ohos.app.MainAbility -u 100 -k
92// 执行结果
93uninstall bundle successfully.
94```
95
96
97## 查询命令
98
99```bash
100bm dump [-h help] [-a] [-n bundleName] [-s shortcutInfo] [-u userId] [-d deviceId]
101```
102
103
104注:-u未指定情况下,默认为所有用户。
105
106
107  **表5** 查询命令列表
108
109| 命令 | 是否必选 | 描述 |
110| -------- | -------- | -------- |
111| -h | 否,默认输出帮助信息 | 显示dump支持的命令信息 |
112| -a | 是 | 查询系统已经安装的所有应用 |
113| -n | 是 | 查询指定包名的详细信息 |
114| -s | 是 | 查询指定包名下的快捷方式信息 |
115| -d | 否,默认查询当前设备 | 查询指定设备中的包信息 |
116| -u | 否,默认查询当前设备上的所有用户 | 查询指定用户下指定包名的详细信息 |
117
118
119示例:
120
121```bash
122# 显示所有已安装的包名
123bm dump -a
124# 查询该应用的详细信息
125bm dump -n com.ohos.app -u 100
126# 查询该应用的快捷方式信息
127bm dump -s com.ohos.app -u 100
128# 查询跨设备应用信息
129bm dump -n com.ohos.app -d xxxxx
130```
131
132
133## 清理命令
134
135```bash
136bm clean [-h] [-c] [-n  bundleName] [-d] [-u userId]
137```
138
139
140注:-u未指定情况下,默认为当前活跃用户。
141
142
143  **表6** 清理命令列表
144
145| 命令 | 描述 |
146| -------- | -------- |
147| -h | 显示clean支持的命令信息 |
148| -c -n | 清除指定包名的缓存数据 |
149| -d -n | 清除指定包名的数据目录 |
150| -u | 清除指定用户下包名的缓存数据 |
151
152
153示例:
154
155```bash
156# 清理该应用下的缓存数据
157bm clean -c -n com.ohos.app -u 100
158// 执行结果
159clean bundle cache files successfully.
160# 清理该应用下的用户数据
161bm clean -d -n com.ohos.app -u 100
162// 执行结果
163clean bundle data files successfully.
164```
165
166
167## 使能命令
168
169```bash
170bm enable [-h] [-n bundleName] [-a abilityName] [-u userId]
171```
172
173
174注:-u未指定情况下,默认为当前活跃用户。
175
176
177  **表7** 使能命令列表
178
179| 命令 | 描述 |
180| -------- | -------- |
181| -h | 显示enable支持的命令信息 |
182| -n | 使能指定包名的应用 |
183| -a | 使能指定包名下的元能力模块 |
184| -u | 使能指定用户和包名的应用 |
185
186
187示例:
188
189```bash
190# 使能该应用
191bm enable -n com.ohos.app -a com.ohos.app.MainAbility -u 100
192// 执行结果
193enable bundle successfully.
194```
195
196
197## 禁用命令
198
199```bash
200bm disable [-h] [-n bundleName] [-a abilityName] [-u userId]
201```
202
203
204注:-u未指定情况下,默认为当前活跃用户。
205
206
207  **表8** 禁用命令列表
208
209| 命令 | 描述 |
210| -------- | -------- |
211| -h | 显示disable支持的命令信息 |
212| -n | 禁用指定包名的应用 |
213| -a | 禁用指定包名下的元能力模块 |
214| -u | 禁用指定用户和包名下的应用 |
215
216示例:
217
218```bash
219# 禁用该应用
220bm disable -n com.ohos.app -a com.ohos.app.MainAbility -u 100
221// 执行结果
222disable bundle successfully.
223```
224
225
226## 获取udid
227
228```bash
229bm get [-h] [-u]
230```
231
232
233  **表9** 获取udid命令列表
234
235| 命令 | 描述 |
236| -------- | -------- |
237| -h | 显示get支持的命令信息 |
238| -u | 获取设备的udid |
239
240
241示例:
242
243```bash
244# 获取设备的udid
245bm get -u
246// 执行结果
247udid of current device is :
24823CADE0C
249```
250
251
252## 快速修复
253
254```bash
255bm quickfix [-h] [-a -f filePath] [-q -b bundleName]
256```
257
258
259  **表10** 快速修复命令列表
260
261| 命令 | 描述 |
262| -------- | -------- |
263| -h | 显示quickfix支持的命令信息 |
264| -a -f | 执行快速修复补丁安装命令,file-path对应hqf文件,支持传递1个或多个hqf文件,或传递hqf文件所在的目录。 |
265| -q -b | 根据包名查询补丁信息,bundle-name对应包名。 |
266
267
268示例:
269
270```bash
271# 根据包名查询补丁包信息
272bm quickfix -q -b com.ohos.app
273// 执行结果
274// Information as follows:
275// ApplicationQuickFixInfo:
276//  bundle name: com.ohos.app
277//  bundle version code: xxx
278//  bundle version name: xxx
279//  patch version code: x
280//  patch version name:
281//  cpu abi:
282//  native library path:
283//  type:
284# 快速修复补丁安装
285bm quickfix -a -f /data/app/
286//执行结果
287apply quickfix succeed.
288```
289