• Home
Name Date Size #Lines LOC

..--

frameworks/07-Sep-2024-8,8117,688

test/07-Sep-2024-7,7954,870

BUILD.gnD07-Sep-2024669 1916

LICENSED07-Sep-202410.1 KiB177150

README_zh.mdD07-Sep-202410.8 KiB262231

bundle.jsonD07-Sep-20241.4 KiB4949

bundletool.gniD07-Sep-20241.7 KiB4738

README_zh.md

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| compile | 应用执行编译AOT命令 |
29| copy-ap | 把应用的ap文件拷贝到/data/local/pgo目录下,供shell用户读取文件 |
30| dump-dependencies | 查询应用依赖的模块信息 |
31| dump-shared | 查询应用间HSP应用信息 |
32| dump-overlay | 打印overlay应用的的overlayModuleInfo |
33| dump-target-overlay | 打印目标应用的所有关联overlay应用的overlayModuleInfo |
34#### 帮助命令
35| 命令    | 描述       |
36| ------- | ---------- |
37| bm help | 显示bm工具的能够支持的命令信息 |
38
39* 示例
40```Bash
41# 显示帮助信息
42bm help
43```
44#### 安装命令
45命令可以组合,下面列出部分命令。
46| 命令                                | 描述                       |
47| ----------------------------------- | -------------------------- |
48| bm install -h | 显示install支持的命令信息 |
49| bm install -p <file-path>    | 安装应用,支持指定路径和多个hap、hsp同时安装 |
50| bm install -p <file-path> -u <user-id>   |给指定用户安装一个应用 |
51| bm install -r -p <file-path> | 覆盖安装一个应用 |
52| bm install -r -p <file-path> -u <user-id> | 给指定用户覆盖安装一个应用 |
53| bm install -r -p <file-path> -u <user-id> -w <waitting-time> | 安装时指定bm工具等待时间,最小的等待时长为180s,最大的等待时长为600s, 默认缺省为5s |
54| bm install -s <hsp-dir-path> | 安装应用间共享库, 每个路径目录下只能存在一个hsp|
55| bm install -p <file-path> -s <hsp-dir-path> | 同时安装使用方应用和其依赖的应用间共享库 |
56
57* 示例
58```Bash
59# 安装一个hap
60bm install -p /data/app/ohosapp.hap
61# 覆盖安装一个hap
62bm install -p /data/app/ohosapp.hap -r
63# 安装一个应用间共享库
64bm install -s xxx.hsp
65# 同时安装多个应用间共享库
66bm install -s xxx.hsp yyy.hsp
67# 同时安装使用方应用和其依赖的应用间共享库
68bm install -p aaa.hap -s xxx.hsp yyy.hsp
69```
70#### 卸载命令
71命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。
72| 命令                          | 描述                     |
73| ----------------------------- | ------------------------ |
74| bm uninstall -h | 显示uninstall支持的命令信息 |
75| bm uninstall -n <bundle-name> | 通过指定包名卸载应用 |
76| bm uninstall -n <bundle-name> -u <user-id>| 通过指定包名和用户卸载应用 |
77| bm uninstall -n <bundle-name> -m <moudle-name> | 通过指定包名卸载应用的一个模块 |
78| bm uninstall -s <hsp-dir-path> -n <bundle-name> | 卸载指定的shared bundle |
79| bm uninstall -s  <hsp-dir-path> -n <bundle-name> -v <version-code> | 卸载指定的shared bundle的指定版本 |
80
81* 示例
82```Bash
83# 卸载一个应用
84bm uninstall -n com.ohos.app
85# 卸载应用的一个模块
86bm uninstall -n com.ohos.app -m com.ohos.app.MainAbility
87# 卸载一个shared bundle
88bm uninstall -s -n com.ohos.example
89# 卸载一个shared bundle的指定版本
90bm uninstall -s -n com.ohos.example -v 100001
91```
92#### 查询命令
93命令可以组合,下面列出部分命令。-u未指定情况下,默认为所有用户。
94| 命令       | 描述                       |
95| ---------- | -------------------------- |
96| bm dump -h | 显示dump支持的命令信息 |
97| bm dump -a | 查询系统已经安装的所有应用 |
98| bm dump -n <bundle-name> | 查询指定包名的详细信息 |
99| bm dump -n <bundle-name> -s | 查询指定包名下的快捷方式信息 |
100| bm dump -n <bundle-name> -d <device-id> | 跨设备查询包信息 |
101| bm dump -n <bundle-name> -u <user-id> | 查询指定用户下指定包名的详细信息 |
102| bm dump-shared -h | 显示dump-shared支持的命令信息 |
103| bm dump-shared -a | 查询系统中已安装所有共享库 |
104| bm dump-shared -n  <bundle-name> | 查询指定共享库包名的详细信息 |
105| bm dump-dependencies -h | 显示bm dump-dependencies支持的命令信息 |
106| bm dump-dependencies -n <bundle-name> -m <moudle-name> | 查询指定应用指定模块依赖的共享库信息 |
107
108* 示例
109```Bash
110# 显示所有已安装的包名
111bm dump -a
112# 显示该应用的详细信息
113bm dump -n com.ohos.app
114# 显示所有已安装共享库包名
115bm dump-shared -a
116# 显示该共享库的详细信息
117bm dump-shared -n com.ohos.lib
118# 显示指定应用指定模块依赖的共享库信息
119bm dump-dependencies -n com.ohos.app -m entry
120```
121#### 清理命令
122-u未指定情况下,默认为当前活跃用户。
123| 命令       | 描述                       |
124| ---------- | -------------------------- |
125| bm clean -h | 显示clean支持的命令信息 |
126| bm clean -n <bundle-name> -c | 清除指定包名的缓存数据 |
127| bm clean -n <bundle-name> -d | 清除指定包名的数据目录 |
128| bm clean -n <bundle-name> -c -u <user-id> | 清除指定用户下包名的缓存数据 |
129| bm clean -n <bundle-name> -d -u <user-id> | 清除指定用户下包名的数据目录 |
130
131* 示例
132```Bash
133# 清理该应用下的缓存数据
134bm clean -n com.ohos.app -c
135# 清理该应用下的用户数据
136bm clean -n com.ohos.app -d
137```
138#### 使能命令
139-u未指定情况下,默认为当前活跃用户。
140| 命令       | 描述                       |
141| ---------- | -------------------------- |
142| bm enable -h | 显示enable支持的命令信息 |
143| bm enable -n <bundle-name> | 使能指定包名的应用 |
144| bm enable -n <bundle-name> -a <ability-name> | 使能指定包名下的元能力模块 |
145| bm enable -n <bundle-name> -u <user-id>| 使能指定用户和包名的应用 |
146
147* 示例
148```Bash
149# 使能该应用
150bm enable -n com.ohos.app
151```
152#### 禁用命令
153-u未指定情况下,默认为当前活跃用户。
154| 命令       | 描述                       |
155| ---------- | -------------------------- |
156| bm disable -h | 显示disable支持的命令信息 |
157| bm disable -n <bundle-name> | 禁用指定包名的应用 |
158| bm disable -n <bundle-name> -a <ability-name> | 禁用指定包名下的元能力模块 |
159| bm disable -n <bundle-name> -u <user-id>| 禁用指定用户和包名下的应用 |
160
161* 示例
162```Bash
163# 禁用该应用
164bm disable -n com.ohos.app
165```
166#### 获取udid命令
167| 命令       | 描述                       |
168| ---------- | -------------------------- |
169| bm get -h | 显示get支持的命令信息 |
170| bm get -u | 获取设备的udid |
171
172* 示例
173```Bash
174# 获取设备的udid
175bm get -u
176```
177
178#### 快速修复命令
179| 命令       | 描述                       |
180| ---------- | -------------------------- |
181| bm quickfix -h | 显示quickfix支持的命令信息 |
182| bm quickfix -a -f <file-path> | 执行补丁安装命令 |
183| bm quickfix -q -b <bundle-name> | 根据包名查询补丁包信息 |
184| bm quickfix -a -f <file-path> -d | 选择debug模式执行补丁安装命令 |
185
186* 示例
187```Bash
188# 根据包名查询补丁包信息
189bm quickfix -q -b <bundle-name>
190```
191
192#### 应用编译AOT命令
193| 命令       | 描述                       |
194| ---------- | -------------------------- |
195| bm compile -h | 显示compile支持的命令信息 |
196| bm compile -m partial <bundle-name> | 根据包名编译应用 |
197| bm compile -m partial -a | 编译所有应用 |
198| bm compile -r -a | 移除所有编译应用的结果 |
199| bm compile -r <bundle-name> | 移除应用的结果 |
200
201* 示例
202```Bash
203# 根据包名编译应用
204bm compile -m partial <bundle-name>
205```
206
207#### 拷贝ap文件到/data/local/pgo路径
208| 命令       | 描述                       |
209| ---------- | -------------------------- |
210| bm copy-ap -h | 显示copy-ap支持的命令信息 |
211| bm copy-ap -a | 拷贝所有包相关ap文件 |
212| bm copy-ap -n <bundle-name> | 根据包名拷贝对应包相关的ap文件 |
213
214* 示例
215```Bash
216# 根据包名移动对应包相关的ap文件
217bm copy-ap -n <bundle-name>
218```
219
220#### 获取overlay应用的Overlay信息命令
221| 命令       | 描述                       |
222| ---------- | -------------------------- |
223| bm dump-overlay -h | 显示dump-overlay支持的命令信息 |
224| bm dump-overlay -b <bundle-name> | 获取指定应用的所有OverlayModuleInfo信息 |
225| bm dump-overlay -b <bundle-name> -m <module-name> | 根据指定的包名和module名查询OverlayModuleInfo信息 |
226| bm dump-overlay -b <bundle-name> -t <target-module-name> | 根据指定的包名和目标module名查询OverlayModuleInfo信息 |
227
228* 示例
229```Bash
230* 示例
231# 根据包名来获取overlay应用com.ohos.app中的所有OverlayModuleInfo信息
232bm dump-overlay -b com.ohos.app
233
234# 根据包名和module来获取overlay应用com.ohos.app中overlay module为entry的所有OverlayModuleInfo信息
235bm dump-overlay -b com.ohos.app -m entry
236
237# 根据包名和module来获取overlay应用com.ohos.app中目标module为feature的所有OverlayModuleInfo信息
238bm dump-overlay -b com.ohos.app -m feature
239```
240
241#### 获取目标应用的Overlay信息命令
242| 命令       | 描述                       |
243| ---------- | -------------------------- |
244| bm dump-target-overlay -h | 显示dump-target-overlay支持的命令信息 |
245| bm dump-target-overlay -b <bundle-name> | 获取指定目标应用的所有OverlayBundleInfo信息 |
246| bm dump-target-overlay -b <bundle-name> -m <module-name> | 根据指定的目标应用的包名和module名查询OverlayModuleInfo信息 |
247
248* 示例
249```Bash
250* 示例
251# 根据包名来获取目标应用com.ohos.app中的所有关联的OverlayBundleInfo信息
252bm dump-target-overlay-b com.ohos.app
253
254# 根据包名和module来获取目标应用com.ohos.app中目标module为entry的所有关联的OverlayModuleInfo信息
255bm dump-target-overlay -b com.ohos.app -m entry
256
257```
258
259## 相关仓
260
261[bundlemanager_bundle_framework](https://gitee.com/openharmony/bundlemanager_bundle_framework)
262