牟 峰
(南京工業大學計算機學院 江蘇·南京 211816)
在高新信息技術領域的不確定性日益增強的時代里,華為的鴻蒙系統(HarmonyOS)作為一款真正意義上的國產分布式操作系統,華為歡迎友商和開發者加入鴻蒙計劃并提供技術扶持。在高校中培養更多的專業鴻蒙軟件開發者,是鴻蒙生態鏈的重要一環。本文將從頭開始,探索鴻蒙軟件開發學習之路。
以下對HarmonyOS操作系統做全面說明。
從開發者角度出發,可以將搭載HarmonyOS的設備在系統層面融為一體、形成超級終端,根據需要協同工作。
從使用者角度出發,HarmonyOS能夠將各類終端進行能力整合,實現不同終端設備之間的快速連接、能力互助、資源共享,匹配合適的設備、提供流暢的全場景體驗。
HarmonyOS采用了多種分布式技術,使應用開發與不同終端設備的形態差異無關,讓開發者能夠聚焦上層業務邏輯,更加便捷、高效地開發應用。
HarmonyOS采用了組件化的設計方案,可根據不同設備和業務靈活裁剪,滿足不同形態終端設備對操作系統的要求。
HarmonyOS和大多數操作系統一樣,分功能層次形實現。了解操作系統的層次和組成,可以很方便地明確哪些功能操作系統已提供、并可以裁剪;哪些功能需開發,開發工作處在整個系統的哪個層面和位置。
HarmonyOS的分層結構和功能如圖1所示。

圖1:HarmonyOS的分層結構和功能
內核層包括內核子系統和驅動子系統兩個部分。可以將不同的內容抽象成一個統一的對外內核和驅動。
(1)核子系統:HarmonyOS支持多種內核,針對擁有不同資源的設備選用適合的 OS內核。通過內核抽象層(KAL,Kernel Abstract Layer)屏蔽不同內核差異,對上層提供進程/線程管理、內存管理、文件系統、網絡管理和外設管理等基礎的內核能力。
(2)驅動子系統:HarmonyOS提供硬件驅動框架(HDF),提供統一外設訪問能力和驅動開發、管理框架。改框架是硬件生態開放的基礎,開發新的使用鴻蒙的嵌入式系統,會涉及該部分的驅動開發工作。
系統服務層是HarmonyOS的核心能力集合,通過框架層對應用程序提供服務。該層包含以下幾個部分:
(1)系統基本能力子系統集:該子系統為分布式應用在HarmonyOS多設備上的運行、調度、遷移等操作提供了基礎能力。其由分布式軟總線、分布式數據管理、分布式任務調度、方舟多語言運行時、公共基礎庫、多模輸入、圖形、安全、AI等子系統組成。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎的系統類庫。
(2)基礎軟件服務子系統集:該子系統為HarmonyOS提供公共的、通用的軟件服務,由事件通知、電話、多媒體、DFX(Design For X)、MSDP&DV等子系統組成。
(3)增強軟件服務子系統集:為HarmonyOS提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業務、穿戴專有業務、IoT專有業務等子系統組成。
(4)硬件服務子系統集:為HarmonyOS提供硬件服務,由位置服務、生物特征識別、穿戴專有硬件服務、IoT專有硬件服務等子系統組成。
各子系統可以根據不同設備形態的部署環境,基礎軟件服務子系統集、增強軟件服務子系統集、硬件服務子系統集內部可以按子系統粒度裁剪,每個子系統內部又可以按功能粒度裁剪。
框架層為 HarmonyOS應用開發提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,兩種UI框架(包括適用于Java語言的Java UI框架、適用于JS語言的JSUI框架),以及各種軟硬件服務對外開放的多語言框架API。根據系統的組件化裁剪程度,HarmonyOS設備支持的API也會有所不同。
應用層包括系統應用和第三方非系統應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,FA有UI界面,提供與用戶交互的能力;而PA無UI界面,提供后臺運行任務的能力以及統一的數據訪問抽象。FA在進行用戶交互時所需的后臺數據訪問也需要由對應的PA提供支撐。
HarmonyOS軟件開發環境構建包括安裝開發工具,并配置相關開發環境。鴻蒙的開發環境為 DevEco Studio,支持在windows和macOS系統兩種桌面操作系統中安裝。對開發用電腦的硬件要求為,內存:8GB及以上;硬盤:100GB及以上;分辨率:1280*800像素及以上。以windows下安裝該開發軟件為例。簡述開發環境構建過程。
進入HUAWEI DevEco Studio產品頁,點擊下載列表后的按鈕,下載DevEco Studio 2.1 Release或DevEco Studio 2.2 Beta1中的一個。
DevEcoStudio的編譯構建依賴JDK,DevEcoStudio預置了OpenJDK,版本為1.8,安裝過程中會自動安裝JDK。
下載完成后,雙擊下載的“deveco-studio-xxxx.exe”,進入DevEcoStudio安裝向導,在如下安裝選項界面勾選64-bit launcher后,點擊Next,直至安裝完成。
DevEco Studio提供SDK Manager統一管理SDK及工具鏈,下載各種編程語言的SDK包時,SDKManager會自動下載該SDK包依賴的工具鏈。多種編程語言的SDK包和工具鏈,具體說明如圖2所示。

圖2:多種編程語言的SDK包和工具鏈
首次安裝和非首次安裝DevEco Studio,會有不同處理步驟。第一次安裝使用DevEco Studio,需要下載HarmonyOS SDK及對應工具鏈。
如果已經下載過HarmonyOS SDK,當存在新版本的SDK時,可以通過SDK Manager來更新對應的SDK。進入SDK Manager的方法:配置HDC工具環境變量。
HDC是為開發者提供HarmonyOS應用的調試工具,需要為HDC工具的端口號設置環境變量。
在此電腦->屬性->高級系統設置->高級->環境變量中,添加 HDC端口變量。變量名為:HDC_SERVER_PORT,變量值設置為7035。
以Phone工程為例,并初步熟悉鴻蒙軟件開發方法。在Phone的遠程模擬器中運行該工程。
打開DevEco Studio,在歡迎頁點擊Create HarmonyOS Project,創建一個新工程。根據工程創建向導,選擇需要的Ability工程模板,然后點擊Next。填寫工程相關信息,Device Type選擇Phone,其他保持默認值即可。
DevEco Studio提供遠程模擬器和本地模擬器。以遠程模擬器為例進行說明。
(1)在DevEcoStudio菜單欄,點擊Tools>DeviceManager。(2)在Remote Emulator頁簽中點擊Login,在瀏覽器中彈出華為開發者聯盟帳號登錄界面,請輸入已實名認證的華為開發者聯盟帳號的用戶名和密碼進行登錄。(3)在設備列表中,選擇Phone設備P40,并點擊按鈕,運行模擬器。(4)DevEco Studio會啟動應用的編譯構建,完成后應用即可運行在模擬器上。