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