簡(jiǎn)介
包管理子系統(tǒng)負(fù)責(zé)應(yīng)用安裝包的管理,提供安裝包的信息查詢、安裝、更新、卸載和包信息存儲(chǔ)等能力。具體功能如下:
包管理子系統(tǒng)架構(gòu)如下圖所示:
部件內(nèi)子模塊職責(zé)
子模塊名稱 | 職責(zé) |
---|---|
包管理接口模塊 | 1.對(duì)外提供的安裝更新卸載及通知接口; 2.對(duì)外提供的包/組件信息/權(quán)限信息查詢接口; 3.對(duì)外提供的應(yīng)用權(quán)限查詢接口; 4.對(duì)外提供的清除數(shù)據(jù)的接口; |
掃描模塊 | 1.預(yù)置應(yīng)用的掃描; 2.已安裝三方應(yīng)用的掃描; 3.包配置文件的解析; |
安全管理模塊 | 1.安裝過程中的簽名校驗(yàn); 2.安裝過程中應(yīng)用所申請(qǐng)權(quán)限的授予; 3.應(yīng)用運(yùn)行中權(quán)限的校驗(yàn); |
DBMS模塊 | 1.獲取指定設(shè)備ability信息; |
安裝管理模塊 | 1.安裝、更新、卸載邏輯處理及結(jié)果通知; |
包信息管理模塊 | 1.包信息、組件信息的存儲(chǔ)及同步; |
設(shè)備狀態(tài)監(jiān)聽模塊 | 1.監(jiān)聽設(shè)備的上下線; |
Installed模塊 | 特權(quán)進(jìn)程: 1)用于創(chuàng)建、刪除等目錄操作; 2)用于創(chuàng)建、刪除等文件操作; 3)用于設(shè)備目錄的沙箱uid/gid等操作 |
DFX | 1.包管理維測(cè)工具 |
目錄
foundation/bundlemanager/bundle_framework
├── bundle_tool # bm工具存放目錄
├── distributed_bundle_framework # 分布式包管理服務(wù)框架代碼
├── common
│ └── log # 日志組件目錄
├── interfaces
│ ├── inner_api # 內(nèi)部接口存放目錄
│ └── kits # 應(yīng)用接口
│ ├── js # JS接口
│ └── native # C/C++接口
├── services # 包管理服務(wù)框架代碼
└── test # 測(cè)試目錄
bm工具命令
bm是用來方便開發(fā)者調(diào)試的一個(gè)工具。bm工具被hdc工具封裝,進(jìn)入hdc shell命令后,就可以使用bm工具。
命令 | 描述 |
---|---|
help | 幫助命令,顯示bm支持的命令信息 |
install | 安裝命令,用來安裝應(yīng)用 |
uninstall | 卸載命令,用來卸載應(yīng)用 |
dump | 查詢命令,用來查詢應(yīng)用的相關(guān)信息 |
clean | 清理命令,用來清理應(yīng)用的緩存和數(shù)據(jù) |
enable | 使能命令,用來使能應(yīng)用 |
disable | 禁用命令,用來禁用應(yīng)用 |
get | 獲取udid命令,用來獲取設(shè)備的udid |
幫助命令
命令 | 描述 |
---|---|
bm help | 顯示bm工具的能夠支持的命令信息 |
- 示例
# 顯示幫助信息
bm help
安裝命令
命令可以組合,下面列出部分命令。
命令 | 描述 |
---|---|
bm install -h | 顯示install支持的命令信息 |
bm install -p | 安裝hap包,支持指定路徑和多個(gè)hap同時(shí)安裝 |
bm install -p -u | 給指定用戶安裝一個(gè)hap包 |
bm install -r -p | 覆蓋安裝一個(gè)hap包 |
bm install -r -p -u | 給指定用戶覆蓋安裝一個(gè)hap包 |
- 示例
# 安裝一個(gè)hap
bm install -p /data/app/ohosapp.hap
# 覆蓋安裝一個(gè)hap
bm install -p /data/app/ohosapp.hap -r
卸載命令
命令可以組合,下面列出部分命令。-u未指定情況下,默認(rèn)為所有用戶。
命令 | 描述 |
---|---|
bm uninstall -h | 顯示uninstall支持的命令信息 |
bm uninstall -n | 通過指定包名卸載應(yīng)用 |
bm uninstall -n -k | 通過指定包名卸載應(yīng)用時(shí)保留數(shù)據(jù)目錄 |
bm uninstall -n -u | 通過指定包名和用戶卸載應(yīng)用 |
bm uninstall -n -m | 通過指定包名卸載應(yīng)用的一個(gè)模塊 |
- 示例
# 卸載一個(gè)hap
bm uninstall -n com.ohos.app
# 卸載一個(gè)hap,保留數(shù)據(jù)目錄
bm uninstall -n com.ohos.app -k
# 卸載一個(gè)hap下面的ability
bm uninstall -n com.ohos.app -m com.ohos.app.MainAbility
查詢命令
命令可以組合,下面列出部分命令。-u未指定情況下,默認(rèn)為所有用戶。
命令 | 描述 |
---|---|
bm dump -h | 顯示dump支持的命令信息 |
bm dump -a | 查詢系統(tǒng)已經(jīng)安裝的所有應(yīng)用 |
bm dump -n | 查詢指定包名的詳細(xì)信息 |
bm dump -n -s | 查詢指定包名下的快捷方式信息 |
bm dump -n -d | 跨設(shè)備查詢包信息 |
bm dump -n -u | 查詢指定用戶下指定包名的詳細(xì)信息 |
- 示例
# 顯示所有已安裝的包名
bm dump -a
# 顯示該應(yīng)用的詳細(xì)信息
bm dump -n com.ohos.app
清理命令
-u未指定情況下,默認(rèn)為當(dāng)前活躍用戶。
命令 | 描述 |
---|---|
bm clean -h | 顯示clean支持的命令信息 |
bm clean -n -c | 清除指定包名的緩存數(shù)據(jù) |
bm clean -n -d | 清除指定包名的數(shù)據(jù)目錄 |
bm clean -n -c -u | 清除指定用戶下包名的緩存數(shù)據(jù) |
bm clean -n -d -u | 清除指定用戶下包名的數(shù)據(jù)目錄 |
- 示例
# 清理該應(yīng)用下的緩存數(shù)據(jù)
bm clean -n com.ohos.app -c
# 清理該應(yīng)用下的用戶數(shù)據(jù)
bm clean -n com.ohos.app -d
使能命令
-u未指定情況下,默認(rèn)為當(dāng)前活躍用戶。
命令 | 描述 |
---|---|
bm enable -h | 顯示enable支持的命令信息 |
bm enable -n | 使能指定包名的應(yīng)用 |
bm enable -n -a | 使能指定包名下的元能力模塊 |
bm enable -n -u | 使能指定用戶和包名的應(yīng)用 |
- 示例
# 使能該應(yīng)用
bm enable -n com.ohos.app
禁用命令
-u未指定情況下,默認(rèn)為當(dāng)前活躍用戶。
命令 | 描述 |
---|---|
bm disable -h | 顯示disable支持的命令信息 |
bm disable -n | 禁用指定包名的應(yīng)用 |
bm disable -n -a | 禁用指定包名下的元能力模塊 |
bm disable -n -u | 禁用指定用戶和包名下的應(yīng)用 |
- 示例
# 禁用該應(yīng)用
bm disable -n com.ohos.app
獲取udid命令
命令 | 描述 |
---|---|
bm get -h | 顯示get支持的命令信息 |
bm get -u | 獲取設(shè)備的udid |
- 示例
# 獲取設(shè)備的udid
bm get -u
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8611瀏覽量
151247 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2358瀏覽量
42876
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論