如何獲取OpenHarmony(鴻蒙)源代碼
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz
源碼獲取
OpenHarmony介紹
OpenHarmony是HarmonyOS的開源版,由華為捐贈給開放原子開源基金會(OpenAtom Foundation)開源。第一個開源版本支持在128KB~128MB設(shè)備上運行,歡迎參加開源社區(qū)一起持續(xù)演進。
代碼倉庫地址:https://openharmony.gitee.com
源碼獲取概述
本文檔將介紹如何獲取OpenHarmony源碼并說明OpenHarmony的源碼目錄結(jié)構(gòu)。OpenHarmony的代碼以組件的形式開放,開發(fā)者可以通過如下其中一種方式獲取:
獲取方式1:從鏡像站點下載壓縮文件(推薦)
獲取方式2:從hpm網(wǎng)站組件式獲取。通過HPM,查找滿足需求的解決方案,挑選/裁剪組件后下載。
獲取方式3:用包管理器命令行工具獲取。通過HPM的hpm-cli命令行工具,執(zhí)行命令下載。
獲取方式4:從代碼倉庫獲取。通過repo或git工具從代碼倉庫中下載。
獲取方式1:從鏡像站點獲取
為了獲得更好的下載性能,您可以選擇從以下站點的鏡像庫獲取源碼或者對應(yīng)的解決方案。
表 1 源碼獲取路徑
獲取方式2:從hpm網(wǎng)站組件式獲取
適用場景
對于剛接觸OpenHarmony的新用戶,希望能夠參考一些示例解決方案從而進行快速開發(fā)??梢栽贖PM獲取推薦的解決方案,以此為基礎(chǔ),增加或裁剪部分組件,快速定制系統(tǒng)。
操作步驟
1.查找合適的解決方案組件包。
- 打開包管理頁面HPM,設(shè)定搜索的對象為“解決方案“,如下圖所示。
- 自搜索框輸入關(guān)鍵字搜索,如"camera"。
- 結(jié)果中顯示匹配的解決方案,可以進一步根據(jù)組件類別等過濾條件(如:適配的開發(fā)板,內(nèi)核)精確篩選。
- 查找合適的解決方案,點擊查看解決方案詳情介紹。
圖 1 包管理
2.定制解決方案組件包。
- 仔細閱讀解決方案的說明,以了解該解決方案的使用場景、特性、使用方法以及如何進行定制化,如下圖所示。
- 點擊「直接下載」,將解決方案下載到本地。
- 點擊「定制組件」,將對解決方案包含的組件進行定制。
圖 2 解決方案示例
3.定制組件。
3.1進入解決方案定制頁面,如下圖所示。
3.2通過關(guān)閉開關(guān)移除可選組件,或者通過“添加組件”增加新的組件。
3.2在右邊填寫您的項目基本信息,包括名稱、版本、描述等信息。
3.4點擊“下載“,系統(tǒng)會根據(jù)您的選擇,生成相應(yīng)的OpenHarmony代碼結(jié)構(gòu)文件(如name.zip),保存至本地文件。
- 下載的壓縮文件并未包含源代碼的原始文件,可以在IDE中導(dǎo)入下載的壓縮包,解壓后執(zhí)行hpm的安裝指令(hpm install),才會將所需要的組件全部下載下來。
- 下載的組件存在工程目錄下的ohos_bundles文件夾中。

圖 3 組件定制
獲取方式3:用包管理器命令行獲取
適用場景
用戶已通過組件式獲取的方式獲取源碼,需要對源碼中的某個或某幾個組件進行獨立升級。
用戶已經(jīng)比較熟悉OpenHarmony系統(tǒng)的開發(fā)并且熟練掌握命令行工具的使用。
準備
通過命令行獲取,需要先安裝Node.js和hpm命令行工具,安裝步驟如下:
安裝Node.js。
官網(wǎng)下載并在本地安裝Node.js.
推薦安裝 Node.js 12.x (包含 npm 6.14.4)或更高版本 (推薦 12.13.0+)。
2.通過Node.js自帶的npm安裝hpm命令行工具。
打開CMD,執(zhí)行以下命令:
- npm install -g @ohos/hpm-cli
3.安裝完成后執(zhí)行如下命令,顯示hpm版本,即安裝成功。
- hpm -V 或 hpm --version
4.如果升級hpm的版本,請執(zhí)行如下命令:
- npm update -g @ohos/hpm-cli
操作
接下來將組件添加到開發(fā)項目中,假定要獲取的組件名為@ohos/demo,具體操作如下:
1.進入開發(fā)目錄,執(zhí)行如下命令,采用默認模板創(chuàng)建一個開發(fā)項目。
- hpm init -t default
2.執(zhí)行如下命令,安裝組件@ohos/demo
- hpm install @ohos/demo
3.工具會自動從服務(wù)器下載所有依賴的組件,下載成功則顯示Install successfully!
- $ hpm install @ohos/demo
- Requesting: https://url.foo.bar/hpm/registry/api/bundles/@ohos/demo
- downloading @ohos/demo
- Requesting: https://lfcontentcenterdev....../bMAlLrYISLqdUTFFFCdgzA.tgz
- extract D:\demo\ohos_bundles\@ohos\demo\@ohos-demo-1.0.7.tgz
- Install successfully!
獲取方式4:從代碼倉庫獲取
適用場景
- 基于OpenHarmony的穩(wěn)定分支建立自己的基線,分發(fā)下游客戶。
- 已經(jīng)完成自身軟件與OpenHarmony的對接,需要進行OpenHarmony官方認證。
- 芯片/模組/app通過OpenHarmony官方認證后,貢獻代碼到OpenHarmony生態(tài)。
- 修復(fù)OpenHarmony的問題。
- 學習OpenHarmony的源碼。
準備
1.注冊碼云gitee賬號。
2.注冊碼云SSH公鑰,請參考碼云幫助中心的公鑰管理:https://gitee.com/help/articles/4181
3.安裝git客戶端并配置用戶信息。
- git config --global user.name "yourname"
- git config --global user.email "your-email-address"
- git config --global credential.helper store
4.安裝碼云repo工具,可以執(zhí)行如下命令。
- curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
- chmod a+x /usr/local/bin/repo
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
操作
方式一(推薦):通過repo下載
- repo init -u https://gitee.com/openharmony/manifest.git -b master
- repo sync -c
方式二:通過git clone單個代碼倉庫
進入代碼倉庫主頁:https://gitee.com/openharmony,選擇需要克隆的代碼倉庫,執(zhí)行命令,如:
- git clone https://gitee.com/openharmony/manifest.git -b master
源碼目錄簡介
下表是OpenHarmony源碼的目錄及簡單說明:
表 2 源碼目錄的說明
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz