1# **bm工具命令组件** 2 3## 简介 4 5bm是用来方便开发者调试的一个工具。bm工具被hdc工具封装,进入hdc shell命令后,就可以使用bm工具。 6 7 8## 目录 9 10``` 11foundation/bundlemanager/bundle_tool 12├── frameworks # bm工具服务框架代码 13└── test # 测试目录 14``` 15 16### bm工具命令 17| 命令 | 描述 | 18| ------- | ---------- | 19| help | 帮助命令,显示bm支持的命令信息 | 20| install | 安装命令,用来安装应用| 21| uninstall | 卸载命令,用来卸载应用| 22| dump | 查询命令,用来查询应用的相关信息| 23| clean | 清理命令,用来清理应用的缓存和数据 | 24| enable | 使能命令,用来使能应用 | 25| disable | 禁用命令,用来禁用应用 | 26| get | 获取udid命令,用来获取设备的udid | 27| quickfix | 快速修复相关命令,用来执行补丁相关操作,如补丁安装、补丁查询 | 28| dump-dependencies | 查询应用依赖的模块信息 | 29| dump-shared | 查询应用间HSP应用信息 | 30| dump-overlay | 打印overlay应用的的overlayModuleInfo | 31| dump-target-overlay | 打印目标应用的所有关联overlay应用的overlayModuleInfo | 32#### 帮助命令 33| 命令 | 描述 | 34| ------- | ---------- | 35| bm help | 显示bm工具的能够支持的命令信息 | 36 37* 示例 38```Bash 39# 显示帮助信息 40bm help 41``` 42#### 安装命令 43命令可以组合,下面列出部分命令。 44| 命令 | 描述 | 45| ----------------------------------- | -------------------------- | 46| bm install -h | 显示install支持的命令信息 | 47| bm install -p <file-path> | 安装应用,支持指定路径和多个hap、hsp同时安装 | 48| bm install -p <file-path> -u <user-id> |给指定用户安装一个应用 | 49| bm install -r -p <file-path> | 覆盖安装一个应用 | 50| bm install -r -p <file-path> -u <user-id> | 给指定用户覆盖安装一个应用 | 51| bm install -r -p <file-path> -u <user-id> -w <waitting-time> | 安装时指定bm工具等待时间,最小的等待时长为180s,最大的等待时长为600s, 默认缺省为5s | 52| bm install -s <hsp-dir-path> | 安装应用间共享库, 每个路径目录下只能存在一个hsp| 53| bm install -p <file-path> -s <hsp-dir-path> | 同时安装使用方应用和其依赖的应用间共享库 | 54 55* 示例 56```Bash 57# 安装一个hap 58bm install -p /data/app/ohosapp.hap 59# 覆盖安装一个hap 60bm install -p /data/app/ohosapp.hap -r 61# 安装一个应用间共享库 62bm install -s xxx.hsp 63# 同时安装多个应用间共享库 64bm install -s xxx.hsp yyy.hsp 65# 同时安装使用方应用和其依赖的应用间共享库 66bm install -p aaa.hap -s xxx.hsp yyy.hsp 67``` 68#### 卸载命令 69命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。 70| 命令 | 描述 | 71| ----------------------------- | ------------------------ | 72| bm uninstall -h | 显示uninstall支持的命令信息 | 73| bm uninstall -n <bundle-name> | 通过指定包名卸载应用 | 74| bm uninstall -n <bundle-name> -u <user-id>| 通过指定包名和用户卸载应用 | 75| bm uninstall -n <bundle-name> -m <moudle-name> | 通过指定包名卸载应用的一个模块 | 76| bm uninstall -s <hsp-dir-path> -n <bundle-name> | 卸载指定的shared bundle | 77| bm uninstall -s <hsp-dir-path> -n <bundle-name> -v <version-code> | 卸载指定的shared bundle的指定版本 | 78 79* 示例 80```Bash 81# 卸载一个应用 82bm uninstall -n com.ohos.app 83# 卸载应用的一个模块 84bm uninstall -n com.ohos.app -m com.ohos.app.MainAbility 85# 卸载一个shared bundle 86bm uninstall -s -n com.ohos.example 87# 卸载一个shared bundle的指定版本 88bm uninstall -s -n com.ohos.example -v 100001 89``` 90#### 查询命令 91命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。 92| 命令 | 描述 | 93| ---------- | -------------------------- | 94| bm dump -h | 显示dump支持的命令信息 | 95| bm dump -a | 查询系统已经安装的所有应用 | 96| bm dump -n <bundle-name> | 查询指定包名的详细信息 | 97| bm dump -n <bundle-name> -s | 查询指定包名下的快捷方式信息 | 98| bm dump -n <bundle-name> -d <device-id> | 跨设备查询包信息 | 99| bm dump -n <bundle-name> -u <user-id> | 查询指定用户下指定包名的详细信息 | 100| bm dump-shared -h | 显示dump-shared支持的命令信息 | 101| bm dump-shared -a | 查询系统中已安装所有共享库 | 102| bm dump-shared -n <bundle-name> | 查询指定共享库包名的详细信息 | 103| bm dump-dependencies -h | 显示bm dump-dependencies支持的命令信息 | 104| bm dump-dependencies -n <bundle-name> -m <moudle-name> | 查询指定应用指定模块依赖的共享库信息 | 105 106* 示例 107```Bash 108# 显示所有已安装的包名 109bm dump -a 110# 显示该应用的详细信息 111bm dump -n com.ohos.app 112# 显示所有已安装共享库包名 113bm dump-shared -a 114# 显示该共享库的详细信息 115bm dump-shared -n com.ohos.lib 116# 显示指定应用指定模块依赖的共享库信息 117bm dump-dependencies -n com.ohos.app -m entry 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| bm quickfix -a -f <file-path> -d | 选择debug模式执行补丁安装命令 | 183 184* 示例 185```Bash 186# 根据包名查询补丁包信息 187bm quickfix -q -b <bundle-name> 188``` 189 190#### 获取overlay应用的Overlay信息命令 191| 命令 | 描述 | 192| ---------- | -------------------------- | 193| bm dump-overlay -h | 显示dump-overlay支持的命令信息 | 194| bm dump-overlay -b <bundle-name> | 获取指定应用的所有OverlayModuleInfo信息 | 195| bm dump-overlay -b <bundle-name> -m <module-name> | 根据指定的包名和module名查询OverlayModuleInfo信息 | 196| bm dump-overlay -b <bundle-name> -t <target-module-name> | 根据指定的包名和目标module名查询OverlayModuleInfo信息 | 197 198* 示例 199```Bash 200* 示例 201# 根据包名来获取overlay应用com.ohos.app中的所有OverlayModuleInfo信息 202bm dump-overlay -b com.ohos.app 203 204# 根据包名和module来获取overlay应用com.ohos.app中overlay module为entry的所有OverlayModuleInfo信息 205bm dump-overlay -b com.ohos.app -m entry 206 207# 根据包名和module来获取overlay应用com.ohos.app中目标module为feature的所有OverlayModuleInfo信息 208bm dump-overlay -b com.ohos.app -m feature 209``` 210 211#### 获取目标应用的Overlay信息命令 212| 命令 | 描述 | 213| ---------- | -------------------------- | 214| bm dump-target-overlay -h | 显示dump-target-overlay支持的命令信息 | 215| bm dump-target-overlay -b <bundle-name> | 获取指定目标应用的所有OverlayBundleInfo信息 | 216| bm dump-target-overlay -b <bundle-name> -m <module-name> | 根据指定的目标应用的包名和module名查询OverlayModuleInfo信息 | 217 218* 示例 219```Bash 220* 示例 221# 根据包名来获取目标应用com.ohos.app中的所有关联的OverlayBundleInfo信息 222bm dump-target-overlay-b com.ohos.app 223 224# 根据包名和module来获取目标应用com.ohos.app中目标module为entry的所有关联的OverlayModuleInfo信息 225bm dump-target-overlay -b com.ohos.app -m entry 226 227``` 228 229## 相关仓 230 231[bundlemanager_bundle_framework](https://gitee.com/openharmony/bundlemanager_bundle_framework) 232