【HarmonyOS】鴻蒙企業應用詳解
一、前言
1、應用類型定義速覽:
HarmonyOS目前針對應用分為三種類型:普通應用,游戲應用,企業應用。
而企業應用又分為,企業普通應用和設備管理應用MDM(Mobile Device Management)
HarmonyOS NEXT版本中,普通應用用戶只能通過應用市場下載并安裝應用包。
企業類應用包括企業普通應用和MDM(Mobile Device Management)設備管理應用。僅在企業定制設備上運行,不會在普通消費者設備上運行。不會上架華為應用市場。
2、MDM應用實現詳解:
設備管理應用通過EnterpriseAdminExtensionAbility來調用MDM Kit中的接口,實現管理設備的意圖。
3、企業應用的前提
企業應用和普通應用最大的分別是,企業應用只能運行在特定的企業設備上,不能安裝在面向普通消費者的商用設備上。
并且企業應用需要和華為AGC平臺進行申請:
申請成為企業MDM應用開發者
申請將應用加入企業MDM應用受邀名單
可向華為運營人員申請開通。在收到您的申請后,華為運營人員將在1-3個工作日內為您安排對接人員。申請方法如下:申請郵箱地址:agconnect@huawei.com。
郵件標題:[申請企業MDM應用發布證書和發布Profile]-[應用名稱]-[應用包名]-[APP ID]-[Developer ID],Developer ID等查詢方法可參見查看應用基本信息。
郵件正文:請說明申請原因。
二、企業如何選擇普通應用,還是企業應用?
上述問題,最關鍵的核心因素是,是否只需要滿足,企業應用不對外,在應用市場不公開下載,但是企業內部可以安裝的訴求。
如果只是該訴求,完全可以選擇普通應用,但是不公開發布的策略。
非公開發布:
是指您可以將不適合公開分發的應用以非公開方式在華為應用市場上發布,使其僅可通過鏈接被用戶發現。非公開發布的應用不會出現在任何華為應用市場的類別、推薦、排行榜、搜索結果或其他列表中。
企業應用
只有企業特殊需求,例如在自己的企業設備上,例如銀行的平板,教育機構的平板或者手機,都可以選擇企業應用。
設備管理應用
還有一種情況,當企業需要管理員工設備時,此時就需要MDM,將應用創建為設備管理應用。
三、企業MDM應用發布證書與Profile申請全流程指南
1、準備申請資質與材料
(1)企業開發者賬號認證
注冊華為開發者聯盟賬號(https://developer.huawei.com/consumer/cn/),并完成企業實名認證(需提供營業執照、法人信息等)。
認證通過后,在“管理中心”選擇“HarmonyOS應用”,進入MDM應用開發專區。
(2)資質審核材料
企業MDM應用需說明使用場景(如企業設備管理、數據安全管控等),并提交《企業應用開發資質聲明》(華為開發者平臺可下載模板)。
若涉及敏感權限(如設備控制、數據監控),需額外提供企業內部安全策略文檔。
2、生成證書請求文件(CSR)
(1)工具準備
使用OpenSSL工具生成密鑰對與CSR文件,示例命令:
# 生成私鑰(2048位RSA)openssl genrsa -out enterprise_mdm.key 2048# 生成CSR文件(需填寫企業信息,Common Name建議使用企業域名)openssl req -new -key enterprise_mdm.key -out enterprise_mdm.csr -subj "/C=CN/O=企業名稱/CN=企業域名"
(2)上傳CSR申請證書
在華為開發者平臺“證書管理”頁面,選擇“創建企業MDM發布證書”,上傳CSR文件并提交審核(審核周期通常為1-3個工作日)。
3、下載與配置證書
審核通過后,下載證書文件(.p12格式),并在DevEco Studio中配置:
- 打開
Project Structure > Signing Configs
,添加.p12證書路徑及密碼; - 在
build.gradle
中指定簽名配置,確保應用打包時使用該證書簽名:signingConfigs {release {storeFile file('enterprise_mdm.p12')storePassword '證書密碼'keyAlias '證書別名'keyPassword '密鑰密碼'} }
4、Profile文件核心參數說明
Profile文件(.p7b或.json格式)需包含以下關鍵信息(通過DevEco Studio自動生成或手動配置):
(1)應用基本信息
bundleName:
應用包名(需與證書綁定的包名一致)
versionCode/
versionName:
應用版本號
distributionType:
設置為enterprise_mdm
(標識MDM應用類型)
(2)MDM專屬權限聲明
在module.json5中聲明MDM必需權限(參考僅MDM應用可用權限):
"requestPermissions": [{"name": "ohos.permission.MDM_CONTROL_DEVICE", // 設備控制權限"reason": "用于企業設備管理"},{"name": "ohos.permission.MDM_SET_SECURITY_POLICY", // 安全策略設置權限"reason": "用于下發企業安全策略"}// 其他MDM權限...
]
(3)設備管理能力聲明
在Profile中添加設備管理擴展能力(需與激活命令中的類名一致):
"deviceManagement": {"adminExtention": "com.enterprise.mdm.DeviceAdminExtension", // 設備管理擴展類名"supportTypes": ["super_admin", "byod"] // 支持超級管理或BYOD模式
}
5、生成與簽名Profile文件
(1)通過DevEco Studio生成
- 在項目中創建profile.json,按上述規范配置參數;
- 使用證書對Profile簽名:通過以下hdc命令生成簽名后的Profile文件(.p7b)。
hdc shell bm sign-profile -p profile.json -k enterprise_mdm.p12 -a 證書別名 -w 證書密碼
(2)手動配置注意事項
Profile中的distributionType必須為enterprise_mdm,否則非企業設備無法安裝(參考錯誤碼9568398);
權限聲明需與MDM Kit開發指南一致,避免因權限缺失導致功能失效。
6、設備激活為MDM管理設備
(1)超級設備管理模式(全管控)
hdc shell edm enable-admin -n com.enterprise.mdm -a com.enterprise.mdm.DeviceAdminExtension
(2)BYOD模式(自帶設備辦公)
hdc shell edm enable-admin -n com.enterprise.mdm -a com.enterprise.mdm.DeviceAdminExtension -t byod
注意:激活限制
同一設備僅能激活一個超級設備管理應用;
BYOD模式下,設備仍保留部分用戶個人權限,需在Profile中配置byod
支持。
2. 部署與測試驗證
(1)安裝MDM應用
使用已簽名的HAP包和Profile文件,通過以下方式安裝:
hdc shell bm install -p mdm_app.hap -f mdm_profile.p7b
(2)功能驗證
檢查MDM權限是否生效(如調用setSecurityPolicy
接口下發密碼策略);
測試設備管理功能(如遠程鎖定、應用黑名單管理,參考黑名單處理文檔)。
注意
1、非企業設備安裝失敗(錯誤碼9568398)
原因:
Profile中的distributionType為enterprise_mdm,但設備未經過企業認證。
解決方案:
僅在企業定制設備或通過MDM激活的設備上安裝,或修改Profile類型為普通應用(非MDM場景)。
2、MDM權限調用失敗
原因:
未正確激活設備管理應用或權限聲明缺失。
解決方案:
確認已執行edm enable-admin激活,并在Profile和代碼中完整聲明權限(如ohos.permission.MDM_CONTROL_DEVICE
)。
3、證書與Profile綁定錯誤
原因:
HAP包簽名證書與Profile簽名證書不一致。
解決方案:
使用同一證書對HAP包和Profile簽名,通過jarsigner -verify
命令校驗簽名一致性。