源碼獲取
詳情請參考:https://gitee.com/openharmony/docs/blob/master/get-code/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.mdgit
OpenHarmony介紹
OpenHarmony是HarmonyOS的開源版,由華爲捐贈給開放原子開源基金會(OpenAtom Foundation)開源。第一個開源版本支持在128KB~128MB設備上運行,歡迎參加開源社區一塊兒持續演進。npm
代碼倉庫地址:https://openharmony.gitee.comapi
源碼獲取概述
本文檔將介紹如何獲取OpenHarmony源碼並說明OpenHarmony的源碼目錄結構。OpenHarmony的代碼以組件的形式開放,開發者能夠經過以下其中一種方式獲取:bash
- 獲取方式1: 從鏡像站點下載壓縮文件(推薦)
- 獲取方式2: 從hpm網站組件式獲取。經過HPM,查找知足需求的解決方案,挑選/裁剪組件後下載。
- 獲取方式3: 用包管理器命令行工具獲取。經過HPM的hpm-cli命令行工具,執行命令下載。
- 獲取方式4: 從代碼倉庫獲取。經過repo或git工具從代碼倉庫中下載。
獲取方式1:從鏡像站點獲取
爲了得到更好的下載性能,您能夠選擇從如下站點的鏡像庫獲取源碼或者對應的解決方案。服務器
表 1 源碼獲取路徑app
下載內容 | 版本信息 | 下載站點 | SHA256校驗碼 |
---|---|---|---|
OpenHarmony全量代碼 | 1.0 | 站點一、站點2 | SHA256 校驗碼 |
Hi3861解決方案 | 1.0 | 站點一、站點2 | SHA256 校驗碼 |
Hi3518解決方案 | 1.0 | 站點一、站點2 | SHA256 校驗碼 |
Hi3516解決方案 | 1.0 | 站點一、站點2 | SHA256 校驗碼 |
RELEASE-NOTES | 1.0 | 站點1 | - |
獲取方式2:從hpm網站組件式獲取
適用場景
對於剛接觸OpenHarmony的新用戶,但願可以參考一些示例解決方案從而進行快速開發。能夠在HPM獲取推薦的解決方案,以此爲基礎,增長或裁剪部分組件,快速定製系統。dom
操做步驟
- 查找合適的解決方案組件包。
- 打開包管理頁面HPM,設定搜索的對象爲「解決方案「,以下圖所示。
- 自搜索框輸入關鍵字搜索,如"camera"。
- 結果中顯示匹配的解決方案,能夠進一步根據組件類別等過濾條件(如:適配的開發板,內核)精確篩選。
- 查找合適的解決方案,點擊查看解決方案詳情介紹
-
定製解決方案組件包。curl
- 仔細閱讀解決方案的說明,以瞭解該解決方案的使用場景、特性、使用方法以及如何進行定製化,以下圖所示。
- 點擊「直接下載」,將解決方案下載到本地。
- 點擊「定製組件」,將對解決方案包含的組件進行定製。
- 定製組件。
- 下載的壓縮文件並未包含源代碼的原始文件,能夠在IDE中導入下載的壓縮包,解壓後執行hpm的安裝指令(hpm install),纔會將所須要的組件所有下載下來。
- 下載的組件存在工程目錄下的ohos_bundles文件夾中。
- 進入解決方案定製頁面,以下圖所示。
- 經過關閉開關移除可選組件,或者經過「添加組件」增長新的組件。
- 在右邊填寫您的項目基本信息,包括名稱、版本、描述等信息。
- 點擊「下載「,系統會根據您的選擇,生成相應的OpenHarmony代碼結構文件(如name.zip),保存至本地文件。
獲取方式3:用包管理器命令行獲取
適用場景
- 用戶已經過組件式獲取的方式獲取源碼,須要對源碼中的某個或某幾個組件進行獨立升級。
- 用戶已經比較熟悉OpenHarmony系統的開發而且熟練掌握命令行工具的使用。
準備
經過命令行獲取,須要先安裝Node.js和hpm命令行工具,安裝步驟以下:ide
- 安裝Node.js。
官網下載並在本地安裝Node.js.
推薦安裝 Node.js 12.x (包含 npm 6.14.4)或更高版本 (推薦 12.13.0+)。
- 經過Node.js自帶的npm安裝hpm命令行工具。
打開CMD,執行如下命令:
npm install -g @ohos/hpm-cli
- 安裝完成後執行以下命令,顯示hpm版本,即安裝成功。
hpm -V 或 hpm --version
- 若是升級hpm的版本,請執行以下命令:
npm update -g @ohos/hpm-cli
操做
接下來將組件添加到開發項目中,假定要獲取的組件名爲@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下載
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verifyrepo sync -c
方式二:經過git clone單個代碼倉庫
進入代碼倉庫主頁:https://gitee.com/openharmony ,選擇須要克隆的代碼倉庫,執行命令,如:
git clone https://gitee.com/openharmony/manifest.git -b master
源碼目錄簡介
下表是OpenHarmony源碼的目錄及簡單說明:
表 2 源碼目錄的說明 |
目錄名 | 描述 |
---|---|---|
applications | 應用程序樣例,包括wifi-iot,camera等 | |
base | 基礎軟件服務子系統集&硬件服務子系統集 | |
build | 組件化編譯、構建和配置腳本 | |
domains | 加強軟件服務子系統集 | |
drivers | 驅動子系統 | |
foundation | 系統基礎能力子系統集 | |
kernel | 內核子系統 | |
prebuilts | 編譯器及工具鏈子系統 | |
test | 測試子系統 | |
third_party | 開源第三方組件 | |
utils | 經常使用的工具集 | |
vendor | 廠商提供的軟件 | |
build.py | 編譯腳本文件 |
HarmonyOS官方開發者論壇:https://developer.huawei.com/consumer/cn/forum/blockdisplay?fid=0101303901040230869
原文連接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202350736685590542&fid=0101303901040230869
原做者:kelly