一、設備開發介紹
1. 環境搭建與源碼獲取
- 環境搭建
搭建OpenHarmony 的系統環境,需要Windows系統與Ubuntu系統結合使用。
? Windows系統負責燒錄、測試、與OpenHarmony在windows系統cmd模式下交互。
? Ubuntu系統負責源碼管理、閱讀、開發、編譯。Ubuntu系統,通過在Windows系統安裝虛擬機,配置初始化虛擬機(內存推薦16GB及以上、CPU推薦4核及以上),虛擬機運行安裝Ubuntu系統。
- 源碼獲取
Ubuntu環境下,更新軟件源命令sudo apt-get update。通過sudo apt_get install git git-lfs,安裝git客戶端與git-lfs,命令 git --version 查看git是否成功。 配置git客戶端 。
安裝碼云repo工具,通過mkdir命令,在固定目錄下創建存放repo的文件目錄。通過命令 curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o 目錄,獲取到repo工具。安裝配置完成之后,通過一下命令步驟進行OpenHarmony源碼獲取 。
2. HarmonyOS源碼編譯
- 編譯環境搭建
Ubuntu環境下,編譯OpenHarmony源碼之前,必須進行編譯環境搭建。通過apt_get和pip3 install命令安裝配置編譯環境。通過 apt-get update -y 更新軟件源。更新成功之后,通過apt-get命令進行OpenHarmony源碼編譯之前安裝配置。
- 編譯命令
成功配置編譯環境,Ubuntu環境下,打開CMD命令行窗口,通過cd命令進入HarmonyOS目錄下,目錄結構如下。
OpenHarmony源碼根目錄下,通過執行命令 bash build/prebuilts_download.sh 腳本進行預編譯,安裝編譯器及二進制工具,成功提示。
接著執行命令 ./build.sh system_size=standard product_name=harmonyos 編譯OpenHarmony源碼。./build.sh 同時也支持其他多種參數。
--source-root-dir=SOURCE_ROOT_DIR # 指定路徑
--product-name=PRODUCT_NAME # 指定產品名
--device-name=DEVICE_NAME # 指定裝置名稱
--target-os=TARGET_OS # 指定操作系統
-T BUILD_TARGET, --build-target=BUILD_TARGET # 指定編譯目標,可以指定多個
OpenHarmony源碼編譯成功,OpenHarmony源碼根目錄下 out/harmonyos/packages/phone/images, Ubuntu環境的終端顯示。
- 編譯出錯
編譯OpenHarmony源碼的過程中,可能出現各類問題。以下枚舉一些異常情況。
解決方法,通過執行命令 sudo apt install openjdk-11.0.16 修復這個問題。
解決方法,通過執行命令 sudo apt install libtinfo5 修復這個問題。
3. OpenHarmony燒錄簡介
Ubuntu環境下,編譯OpenHarmony源碼成功,OpenHarmony鏡像文件存放的路徑,OpenHarmony源碼存放路徑/out/harmony/packages/phone/images。Windows環境下使用燒錄工具瑞芯微開發工具 v2.84(RKDevTool.exe),燒錄OpenHarmony文件到開發版3568。
windows環境下,使用瑞芯微開發工具之前需要安裝瑞芯微驅動,打開瑞芯微開發工具,同時通電開發板,插入USB。燒錄工具會顯示發現一個MASKROM設備。開發板MASKROM模式無法成功燒錄系統。開發板需要進入LOADER模式才能成功燒錄OpenHarmony系統。如何進入LOADER模式?需要先通過一個牙簽按住3568開關,再進行通電,通電之后繼續按住3568開關。
燒錄工具頁面會顯示發現一個LOADER設備,放開按住3568的開關。
瑞芯微開發工具里面選擇編譯成功后生成的OpenHarmony鏡像,每一個鏡像文件順序都不能有任何的顛倒。一旦選擇鏡像文件出現顛倒,燒錄的時候很大概率會將3568開發板直接燒壞,導致3568開發板無法使用。正確選擇OpenHarmony鏡像文件,執行3568開發板燒錄。燒錄工具會提示燒錄是否成功。
4. OpenHarmony測試用例
OpenHarmony為開發者提供了一套全面的自測試框架,開發者可根據測試需求開發相關測試用例。同時開發者也能開發單獨測試函數功能的可執行程序。
window模塊功能,創建一個cpp文件,內部編寫main函數。main函數編寫業務邏輯流程。測試用例在源碼路徑(foundation/windowmanager/snapshot)。
編寫BUILD.gn增加編譯配置。
cpp目錄上層目錄下,bundle.json文件增加需要編譯的模塊。
執行如下命令
./build.sh system_size=standard product_name=harmonyos
生成 snapshot_display,存放目錄 out/harmonyos/window/window_manager。
在 snapshot_display 目錄下,執行如下命令
hdc file send snapshot_display /system/bin
推送開發板 /system/bin目錄。
出現異常提示 [Fail]Error opening file: read-only file system, path:/system/bin/snapshot_display,權限不夠。執行命令
hdc shell mount -o remount,rw /
解決權限問題。
設置執行權限 ,執行命令
hdc shell chmod a+x /system/bin/snapshot_display
執行推送到開發板程序snapshot_display。
文件存放開發板的實際路徑
5. OpenHarmony源碼閱讀
推薦使用[DevEco Studio]項目管理工具管理OpenHarmony源碼,學習OpenHarmony項目工程的整體目錄結構及進行代碼閱讀,其他項目管理工具請自行選擇適合的個人學習的工具。
-
鴻蒙系統
+關注
關注
183文章
2634瀏覽量
66302 -
鴻蒙
+關注
關注
57文章
2339瀏覽量
42805 -
OpenHarmony
+關注
關注
25文章
3713瀏覽量
16254 -
鴻蒙星河
+關注
關注
0文章
8瀏覽量
33
發布評論請先 登錄
相關推薦
評論