【Harmony】鴻蒙企業應用詳解

【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文件,示例命令:

# 生成私鑰(2048RSA)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中配置:

  1. 打開Project Structure > Signing Configs,添加.p12證書路徑及密碼;
  2. 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生成

  1. 在項目中創建profile.json,按上述規范配置參數;
  2. 使用證書對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命令校驗簽名一致性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87628.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87628.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87628.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux云計算基礎篇(8)

VIM 高級特性插入模式按 i 進入插入模式。按 o 在當前行下方插入空行并進入插入模式。按 O 在當前行上方插入空行并進入插入模式。命令模式:set nu 顯示行號。:set nonu 取消顯示行號。:100 光標跳轉到第 100 行。G 光標跳轉到文件最后一行。gg 光標跳轉到文件第一行。30G 跳轉…

Linux進程單例模式運行

Linux進程單例模式運行 #include <iostream> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>int write_pid(const cha…

【Web 后端】部署服務到服務器

文章目錄 前言一、如何啟動服務二、掛載和開機啟動服務1. 配置systemctl 服務2. 創建server用戶3. 啟動服務 總結 前言 如果你的后端服務寫好了如果部署到你的服務器呢&#xff0c;本次通過fastapi寫的服務實例&#xff0c;示范如何部署到服務器&#xff0c;并做服務管理。 一…

國產MCU學習Day5——CW32F030C8T6:窗口看門狗功能全解析

每日更新教程&#xff0c;評論區答疑解惑&#xff0c;小白也能變大神&#xff01;" 目錄 一.窗口看門狗&#xff08;WWDG&#xff09;簡介 二.窗口看門狗寄存器列表 三.窗口看門狗復位案例 一.窗口看門狗&#xff08;WWDG&#xff09;簡介 CW32F030C8T6 內部集成窗口看…

2025年文件加密軟件分享:守護數字世界的核心防線

在數字化時代&#xff0c;數據已成為個人與企業的寶貴資產&#xff0c;文件加密軟件通過復雜的算法&#xff0c;確保信息在存儲、傳輸與共享過程中的保密性、完整性與可用性。一、文件加密軟件的核心原理文件加密軟件算法以其高效性與安全性廣泛應用&#xff0c;通過對文件數據…

node.js下載教程

1.項目環境文檔 語雀 2.nvm安裝教程與nvm常見命令,超詳細!-阿里云開發者社區 C:\Windows\System32>nvm -v 1.2.2 C:\Windows\System32>nvm list available Error retrieving "http://npm.taobao.org/mirrors/node/index.json": HTTP Status 404 C:\Window…

(AI如何解決問題)在一個項目,跳轉到外部html頁面,頁面布局

問題描述目前&#xff0c;ERP后臺有很多跳轉外部鏈接的地方&#xff0c;會直接打開一個tab顯示。因為有些頁面是適配手機屏幕顯示&#xff0c;放在瀏覽器會超級大。不美觀&#xff0c;因此提出優化。修改前&#xff1a;修改后&#xff1a;思考過程1、先看下代碼&#xff1a;log…

網絡通信協議與虛擬網絡技術相關整理(上)

#作者&#xff1a;程宏斌 文章目錄 tcp協議udp協議arp協議icmp協議dhcp協議BGP協議OSPF協議BGP vs OSPF 對比表VLAN&#xff08;Virtual LAN&#xff09;VXLAN&#xff08;Virtual Extensible LAN&#xff09;IPIP&#xff08;IP-in-IP&#xff09;vxlan/vlan/ipip網橋/veth網…

物聯網軟件層面的核心技術體系

物聯網軟件層面的核心技術體系 物聯網(IoT)軟件技術棧是一個多層次的復雜體系&#xff0c;涵蓋從設備端到云平臺的完整解決方案。以下是物聯網軟件層面的關鍵技術分類及詳細說明&#xff1a; 一、設備端軟件技術 1. 嵌入式操作系統 實時操作系統(RTOS)&#xff1a; FreeRTO…

GreatSQL通過偽裝從庫回放Binlog文件

GreatSQL通過偽裝從庫回放Binlog文件 一、適用場景說明 1、主庫誤操作恢復 利用 Binlog 在其他實例解析、回放&#xff0c;根據gtid只回放到指定位點。 2、網絡隔離環境同步 備份恢復后可以拉去主庫Binlog文件至新實例同步增量數據。 3、備份恢復遇到Binlog文件過大處理 恢復實…

MVC 架構設計模式

在現代軟件開發中&#xff0c;架構設計決定了一個項目的可維護性與可擴展性。MVC&#xff08;Model-View-Controller&#xff09;作為經典的分層設計模式&#xff0c;廣泛應用于 Web 系統、前端應用乃至移動端開發中。本文不僅介紹 MVC 的核心思想和機制&#xff0c;還將結合具…

(18)python+playwright自動化測試鼠標拖拽-上

1.簡介 本文主要介紹兩個在測試過程中可能會用到的功能&#xff1a;在selenium中介紹了Actions類中的拖拽操作和Actions類中的劃取字段操作。例如&#xff1a;需要在一堆log字符中隨機劃取一段文字&#xff0c;然后右鍵選擇摘取功能。playwright同樣可以實現元素的拖拽和釋放的…

Android 網絡全棧攻略(四)—— TCPIP 協議族與 HTTPS 協議

Android 網絡全棧攻略系列文章&#xff1a; Android 網絡全棧攻略&#xff08;一&#xff09;—— HTTP 協議基礎 Android 網絡全棧攻略&#xff08;二&#xff09;—— 編碼、加密、哈希、序列化與字符集 Android 網絡全棧攻略&#xff08;三&#xff09;—— 登錄與授權 Andr…

Python爬蟲實戰:從零構建完整項目(數據采集+存儲+異常處理)

Python爬蟲實戰&#xff1a;從零構建完整項目&#xff08;數據采集存儲異常處理&#xff09; 爬蟲不是簡單的請求解析&#xff0c;而是一個系統工程。本文將帶你體驗企業級爬蟲開發的核心流程。 一、前言&#xff1a;為什么需要完整的爬蟲項目&#xff1f; 作為初學者&#xf…

大數據時代UI前端的用戶體驗設計新思維:以用戶為中心的數據可視化

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩!一、引言&#xff1a;大數據重構用戶體驗設計的底層邏輯在數據爆炸式增長的今天&#xff0c;用…

FreeRTOS 中任務控制塊(Task Control Block,TCB)用于管理和描述任務的核心數據結構

在 FreeRTOS 中&#xff0c;任務控制塊&#xff08;Task Control Block&#xff0c;TCB&#xff09;是用于管理和描述任務的核心數據結構。每個任務都有一個對應的 TCB&#xff0c;它包含了任務的所有相關信息。 TCB 的主要功能 存儲任務狀態信息&#xff1a;TCB 中包含了任務…

前端-HTML-day1

目錄 1、標簽語法 2、HTML基本骨架 3、標簽的關系 4、注釋 5、標題標簽 6、段落標簽 7、換行和水平線標簽 8、文本格式化標簽 9、圖像標簽-基本使用 10、圖像標簽-屬性 11、相對路徑 12、絕對路徑 13、超鏈接 14、音頻 15、視頻 16、綜合案例1--個人簡介 17、…

OpenCV篇——項目(二)OCR文檔掃描

目錄 文檔掃描項目說明 前言 文檔掃描代碼總體演示 OCR文檔識別代碼總體演示: ?編輯 代碼功能詳解 1. 預處理階段 2. 邊緣檢測 3. 輪廓處理 4. 透視變換 5. 后處理 主要改進說明&#xff1a; 使用建議&#xff1a; 文檔掃描項目說明 前言 本項目實現了一個自動…

Java 中導出包含多個 Sheet 的 Excel 文件

在 Java 中導出包含多個 Sheet 的 Excel 文件&#xff0c;可以使用 Apache POI 或 EasyExcel&#xff08;阿里開源庫&#xff09;。以下是兩種方法的詳細實現&#xff1a; 方法 1&#xff1a;使用 Apache POI&#xff08;支持 .xls 和 .xlsx&#xff09; 1. 添加 Maven 依賴 …

OneCode采用虛擬DOM結構實現服務端渲染的技術實踐

一、技術背景與挑戰 隨著企業級應用復雜度的提升&#xff0c;傳統服務端渲染(SSR)面臨頁面交互性不足的問題&#xff0c;而純前端SPA架構則存在首屏加載慢和SEO不友好的缺陷。OneCode框架創新性地將虛擬DOM技術引入服務端渲染流程&#xff0c;構建了一套兼顧性能與開發效率的企…