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