0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)實(shí)戰(zhàn):【包管理子系統(tǒng)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-14 15:23 ? 次閱讀

簡(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等操作
DFX1.包管理維測(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

審核編輯 黃宇

5a94ffa1b62d74e6095eff0d95d75612.gif

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8611

    瀏覽量

    151247
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2358

    瀏覽量

    42876
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    分別安裝官方的3.22版本,以及鴻蒙社區(qū)的 3.22.0 版本 3.搭建 Flutter鴻蒙開發(fā)環(huán)境 參考文章《鴻蒙Flutter實(shí)戰(zhàn):0
    發(fā)表于 12-26 14:59

    【書籍評(píng)測(cè)活動(dòng)NO.53】鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)

    的底層設(shè)計(jì)邏輯出發(fā),針對(duì)不同關(guān)鍵子系統(tǒng)的目標(biāo)功能和實(shí)現(xiàn)路徑做實(shí)際分析解讀,幫助開發(fā)者理解鴻蒙操作系統(tǒng)的底層邏輯,開發(fā)更適合
    發(fā)表于 12-16 15:10

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    # 鴻蒙Flutter實(shí)戰(zhàn):如何調(diào)試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開發(fā)環(huán)境](https://g
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):07混合開發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開發(fā) 鴻蒙Flutter混合開發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00

    【「?jìng)}頡編程快速上手」閱讀體驗(yàn)】簡(jiǎn)潔包管理的命脈

    包管理,一個(gè)簡(jiǎn)簡(jiǎn)單單,又復(fù)復(fù)雜雜的內(nèi)容。其實(shí)包管理原理不難,但是做好確實(shí)不容易。 倉頡具備自己的包管理。 從C++這種語言來說。除了針對(duì)特定系統(tǒng)
    發(fā)表于 09-26 22:18

    鴻蒙開發(fā)就業(yè)前景到底怎么樣?

    鴻蒙, 作為華為自主研發(fā)的基于微內(nèi)核的下一代操作系統(tǒng),正在逐漸走進(jìn)人們的視野 。隨著鴻蒙系統(tǒng)的不斷發(fā)展和完善,越來越多的人開始關(guān)注鴻蒙
    發(fā)表于 05-09 17:37

    36歲了還有必要轉(zhuǎn)行鴻蒙開發(fā)嗎?

    鴻蒙開發(fā)這事兒,真的挺有必要的! 鴻蒙操作系統(tǒng),它厲害就厲害在高性能、可擴(kuò)展,還特智能?,F(xiàn)在智能設(shè)備和物聯(lián)網(wǎng)火得不行,鴻蒙就是要成為這個(gè)時(shí)代
    發(fā)表于 05-09 17:01

    鴻蒙開發(fā)圖形圖像:【圖形子系統(tǒng)

    圖形子系統(tǒng)主要包括UI組件、布局、動(dòng)畫、字體、輸入事件、窗口管理、渲染繪制等模塊,構(gòu)建基于輕量OS應(yīng)用框架滿足硬件資源較小的物聯(lián)網(wǎng)設(shè)備或者構(gòu)建基于標(biāo)準(zhǔn)OS的應(yīng)用框架滿足富設(shè)備的OpenHarmony系統(tǒng)應(yīng)用
    的頭像 發(fā)表于 03-23 16:50 ?662次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>圖形圖像:【圖形<b class='flag-5'>子系統(tǒng)</b>】

    鴻蒙開發(fā)實(shí)戰(zhàn):【Hdf Framework】

    該倉主要存放OpenHarmony驅(qū)動(dòng)子系統(tǒng)核心源碼信息(包括驅(qū)動(dòng)框架、配置管理、配置解析、驅(qū)動(dòng)通用框架模型、硬件通用平臺(tái)能力接口等),旨在為開發(fā)者提供更精準(zhǔn)、更高效的開發(fā)環(huán)境,力求做
    的頭像 發(fā)表于 03-21 20:29 ?526次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【Hdf Framework】

    鴻蒙開發(fā)實(shí)戰(zhàn):【系統(tǒng)服務(wù)框架部件】

    系統(tǒng)服務(wù)管理子系統(tǒng)中safwk組件定義OpenHarmony中SystemAbility的實(shí)現(xiàn)方法,并提供啟動(dòng)、注冊(cè)等接口實(shí)現(xiàn)。
    的頭像 發(fā)表于 03-21 15:44 ?300次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【<b class='flag-5'>系統(tǒng)</b>服務(wù)框架部件】

    鴻蒙開發(fā)學(xué)習(xí):【驅(qū)動(dòng)子系統(tǒng)

    OpenHarmony驅(qū)動(dòng)子系統(tǒng)采用C面向?qū)ο缶幊棠P蜆?gòu)建,通過平臺(tái)解耦、內(nèi)核解耦,兼容不同內(nèi)核,提供了歸一化的驅(qū)動(dòng)平臺(tái)底座,旨在為開發(fā)者提供更精準(zhǔn)、更高效的開發(fā)環(huán)境,力求做到一次開發(fā)
    的頭像 發(fā)表于 03-17 22:05 ?606次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>學(xué)習(xí):【驅(qū)動(dòng)<b class='flag-5'>子系統(tǒng)</b>】

    鴻蒙開發(fā)實(shí)戰(zhàn):【電話服務(wù)子系統(tǒng)

    電話服務(wù)子系統(tǒng),提供了一系列的API用于獲取無線蜂窩網(wǎng)絡(luò)和SIM卡相關(guān)的一些信息。應(yīng)用可以通過調(diào)用API來獲取當(dāng)前注冊(cè)網(wǎng)絡(luò)名稱、網(wǎng)絡(luò)服務(wù)狀態(tài)、信號(hào)強(qiáng)度以及SIM卡的相關(guān)信息。
    的頭像 發(fā)表于 03-14 21:49 ?392次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【電話服務(wù)<b class='flag-5'>子系統(tǒng)</b>】

    鴻蒙開發(fā)實(shí)戰(zhàn)【通話管理

    通話管理模塊主要管理CS(Circuit Switch,電路交換)、IMS(IP Multimedia Subsystem,IP多媒體子系統(tǒng))和OTT(over the top,OTT解決方案)三種類型的通話,負(fù)責(zé)申請(qǐng)通話所需要
    的頭像 發(fā)表于 03-14 20:10 ?427次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>【通話<b class='flag-5'>管理</b>】

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

    數(shù)據(jù)管理 電話服務(wù) 分布式應(yīng)用開發(fā) 通知與窗口管理 多媒體技術(shù) 安全技能 任務(wù)管理 WebGL 國際化開發(fā) 應(yīng)用測(cè)試 DFX面向未來設(shè)計(jì)
    發(fā)表于 03-03 21:29

    鴻蒙這么大聲勢(shì),為何遲遲看不見崗位?最新數(shù)據(jù)來了

    管理 多媒體技術(shù) 安全技能 任務(wù)管理 WebGL 國際化開發(fā) 應(yīng)用測(cè)試 DFX面向未來設(shè)計(jì) 鴻蒙系統(tǒng)移植和裁剪定制 …… 《
    發(fā)表于 02-29 20:53