天天看點

HarmonyOS源碼擷取大全

源碼擷取

詳情請參考:​​https://gitee.com/openharmony/docs/blob/master/get-code/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.md​​

OpenHarmony介紹

OpenHarmony是HarmonyOS的開源版,由華為捐贈給開放原子開源基金會(OpenAtom Foundation)開源。第一個開源版本支援在128KB~128MB裝置上運作,歡迎參加開源社群一起持續演進。

代碼倉庫位址:https://openharmony.gitee.com

源碼擷取概述

本文檔将介紹如何擷取OpenHarmony源碼并說明OpenHarmony的源碼目錄結構。OpenHarmony的代碼以元件的形式開放,開發者可以通過如下其中一種方式擷取:

擷取方式1:從鏡像站點下載下傳壓縮檔案(推薦)

擷取方式2:從hpm網站元件式擷取。通過HPM,查找滿足需求的解決方案,挑選/裁剪元件後下載下傳。

擷取方式3:用包管理器指令行工具擷取。通過HPM的hpm-cli指令行工具,執行指令下載下傳。

擷取方式4:從代碼倉庫擷取。通過repo或git工具從代碼倉庫中下載下傳。

擷取方式1:從鏡像站點擷取

為了獲得更好的下載下傳性能,您可以選擇從以下站點的鏡像庫擷取源碼或者對應的解決方案。

HarmonyOS源碼擷取大全

表 1 源碼擷取路徑

擷取方式2:從hpm網站元件式擷取

适用場景

對于剛接觸OpenHarmony的新使用者,希望能夠參考一些示例解決方案進而進行快速開發。可以在HPM擷取推薦的解決方案,以此為基礎,增加或裁剪部分元件,快速定制系統。

操作步驟

查找合适的解決方案元件包。

打開包管理頁面HPM,設定搜尋的對象為“解決方案“,如下圖所示。

自搜尋框輸入關鍵字搜尋,如"camera"。

結果中顯示比對的解決方案,可以進一步根據元件類别等過濾條件(如:适配的開發闆,核心)精确篩選。

查找合适的解決方案,點選檢視解決方案詳情介紹

​​想了解更多内容,請通路:​​

​​51CTO和華為官方戰略合作共建的鴻蒙技術社群​​

​​https://harmonyos.51cto.com/?bkwz​​

定制解決方案元件包。

仔細閱讀解決方案的說明,以了解該解決方案的使用場景、特性、使用方法以及如何進行定制化,如下圖所示。

點選「直接下載下傳」,将解決方案下載下傳到本地。

點選「定制元件」,将對解決方案包含的元件進行定制。

定制元件。

下載下傳的壓縮檔案并未包含源代碼的原始檔案,可以在IDE中導入下載下傳的壓縮包,解壓後執行hpm的安裝指令(hpm install),才會将所需要的元件全部下載下傳下來。

下載下傳的元件存在工程目錄下的ohos_bundles檔案夾中。

進入解決方案定制頁面,如下圖所示。

通過關閉開關移除可選元件,或者通過“添加元件”增加新的元件。

在右邊填寫您的項目基本資訊,包括名稱、版本、描述等資訊。

點選“下載下傳“,系統會根據您的選擇,生成相應的OpenHarmony代碼結構檔案(如name.zip),儲存至本地檔案。

擷取方式3:用包管理器指令行擷取

使用者已認證元件式擷取的方式擷取源碼,需要對源碼中的某個或某幾個元件進行獨立更新。

使用者已經比較熟悉OpenHarmony系統的開發并且熟練掌握指令行工具的使用。

準備

通過指令行擷取,需要先安裝Node.js和hpm指令行工具,安裝步驟如下:

1、安裝Node.js。

官網下載下傳并在本地安裝Node.js.

推薦安裝 Node.js 12.x (包含 npm 6.14.4)或更高版本 (推薦 12.13.0+)。

2、通過Node.js自帶的npm安裝hpm指令行工具。

打開CMD,執行以下指令:

3、安裝完成後執行如下指令,顯示hpm版本,即安裝成功

4、如果更新hpm的版本,請執行如下指令:

操作

接下來将元件添加到開發項目中,假定要擷取的元件名為@ohos/demo,具體操作如下:

進入開發目錄,執行如下指令,采用預設模闆建立一個開發項目。

hpm init -t default

執行如下指令,安裝元件@ohos/demo

hpm install @ohos/demo

工具會自動從伺服器下載下傳所有依賴的元件,下載下傳成功則顯示Install successfully!

$ hpm install @ohos/demoRequesting: https://url.foo.bar/hpm/registry/api/bundles/@ohos/demodownloading @ohos/demoRequesting: https://lfcontentcenterdev....../bMAlLrYISLqdUTFFFCdgzA.tgzextract D:\demo\ohos_bundles\@ohos\demo\@ohos-demo-1.0.7.tgzInstall successfully!

擷取方式4:從代碼倉庫擷取

基于OpenHarmony的穩定分支建立自己的基線,分發下遊客戶。

已經完成自身軟體與OpenHarmony的對接,需要進行OpenHarmony官方認證。

晶片/模組/app通過OpenHarmony官方認證後,貢獻代碼到OpenHarmony生态。

修複OpenHarmony的問題。

學習OpenHarmony的源碼。

注冊碼雲gitee賬号。

注冊碼雲SSH公鑰,請參考碼雲幫助中心的公鑰管理:https://gitee.com/help/articles/4181

安裝git用戶端并配置使用者資訊。

git config --global user.name "yourname"git config --global user.email "your-email-address"git config --global credential.helper store

安裝碼雲repo工具,可以執行如下指令。

curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repochmod a+x /usr/local/bin/repopip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

方式一(推薦):通過repo下載下傳

方式二:通過git clone單個代碼倉庫

進入代碼倉庫首頁:​​https://gitee.com/openharmony ​​,選擇需要克隆的代碼倉庫,執行指令,如:

源碼目錄簡介

下表是OpenHarmony源碼的目錄及簡單說明:

HarmonyOS源碼擷取大全

表 2 源碼目錄的說明

作者:香奈兒

HarmonyOS源碼擷取大全

繼續閱讀