尋找鴻蒙源碼入口
網(wǎng)上說(shuō)鴻蒙操作系統(tǒng)開(kāi)源了,全部134個(gè)倉(cāng)庫(kù)
OpenHarmony - Open_Harmony - Gitee.com
啥?134個(gè)倉(cāng)庫(kù)是什么東西?不應(yīng)該是1個(gè)倉(cāng)庫(kù)嗎?Linux源碼好像就一個(gè)壓縮吧,為什么鴻蒙冒出134個(gè)倉(cāng)庫(kù)來(lái),然后看那些倉(cāng)庫(kù)名,很多hi35xx,難道是海思攝像頭操作系統(tǒng)?不應(yīng)該是桌面操作系統(tǒng)嗎?
還是上網(wǎng)搜吧,因?yàn)轼櫭稍创a剛開(kāi)源,所以網(wǎng)上是不會(huì)搜到源碼講解的,搜到的基本都是鴻蒙OS應(yīng)用開(kāi)發(fā)教程,這個(gè)和鴻蒙源碼是兩回事哈。
搜到一個(gè)官方開(kāi)發(fā)教程
創(chuàng)建一個(gè)新的工程
看完hello world后,發(fā)現(xiàn)這個(gè)和鴻蒙源碼是兩回事,我理解是這個(gè)開(kāi)發(fā)的應(yīng)用運(yùn)行在華為設(shè)備操作系統(tǒng)上,開(kāi)源的就是這些設(shè)備上操作系統(tǒng)。
所以得到如下的理解:
華為硬件設(shè)備-》鴻蒙操作系統(tǒng)-》SDK-》HUAWEI DevEco Studio基于SDK二次開(kāi)發(fā)-》APP-》運(yùn)行在鴻蒙操作系統(tǒng)-》程序控制華為硬件設(shè)備工作,所以那134倉(cāng)庫(kù)估計(jì)就是操作系統(tǒng)五花八門的功能組件了。
SDK 官網(wǎng)有個(gè)術(shù)語(yǔ)頁(yè)面,這是個(gè)突破口,因?yàn)镾DK最終是和操作系統(tǒng)打交道的,所以SDK必然調(diào)用的是操作系統(tǒng)的接口,所以這里的術(shù)語(yǔ)也差不多是操作系統(tǒng)提供的核心業(yè)務(wù)接口了。
所以現(xiàn)在就是要在源碼里找到這些術(shù)語(yǔ),怎么找?當(dāng)然是把這些倉(cāng)庫(kù)全部下載下來(lái)全局搜下,網(wǎng)上已經(jīng)有人共享了,這里分享下:
(鴻蒙2.0完整源碼(截止200916,134個(gè)倉(cāng)庫(kù))
這時(shí)再回到官方的鴻蒙倉(cāng)庫(kù)
OpenHarmony - Open_Harmony - Gitee.com
發(fā)現(xiàn)好理解了:
倉(cāng)庫(kù)還是很多的,重點(diǎn)關(guān)注的是文檔倉(cāng)庫(kù),doc倉(cāng)庫(kù)就在第1頁(yè)上面,如果仔細(xì)瀏覽一下第1頁(yè)也能找到
docs: OpenHarmony開(kāi)發(fā)者文檔
這里看到一個(gè)現(xiàn)象,就是PR已經(jīng)有154個(gè)合并了,就是差不多至少有幾十人多人已經(jīng)在提交代碼了,不知道他們是誰(shuí),感興趣的可以觀察一下PR提交者的主頁(yè)哈,看看有沒(méi)有什么項(xiàng)目。
所以,入口就是看別人已經(jīng)被合并的PR。
doc
docs: OpenHarmony開(kāi)發(fā)者文檔
[思維導(dǎo)圖在線] (https://www.processon.com/view/link/5f6c09997d9c08039fb687d4)
上面思維導(dǎo)圖節(jié)點(diǎn)可以點(diǎn)擊展開(kāi),可以點(diǎn)擊上面思維導(dǎo)圖里面的鏈接,方便跳轉(zhuǎn),就不需要看doc倉(cāng)庫(kù)了
開(kāi)發(fā)者文檔是很重要的資料,有必要把整個(gè)倉(cāng)庫(kù)都瀏覽一遍,這里瀏覽后手動(dòng)繪制了一個(gè)思維導(dǎo)圖,大家可以把前面的總倉(cāng)庫(kù)下載下來(lái),然后在vscode里用Go Live功能在瀏覽器里看。
pull request
提交代碼是提高存在感最快的方法,目前鴻蒙總倉(cāng)一共有200多個(gè)提交,相比于134個(gè)倉(cāng)庫(kù)而言,其實(shí)PR不算多,這么看來(lái)提交代碼的遠(yuǎn)比寫源碼分析博客的多。
我們來(lái)看一個(gè)簡(jiǎn)單的代碼提交示例
[audio_framework] audio encoder error auto rate. · Pull Request !1 · OpenHarmony/multimedia_frameworks_audio_lite - Gitee.com
我們?cè)倏匆粋€(gè)有自動(dòng)集成測(cè)試的提交示例
【輕量級(jí) PR】:fix typo for CoapCreatUdpClient · Pull Request !3 · OpenHarmony/communication_services_softbus_lite - Gitee.com
發(fā)現(xiàn)為什么同意合并有的是機(jī)器人有的人類檢查員
再來(lái)看一個(gè)
Code optimization for hdf uart interface · Pull Request !1 · OpenHarmony/vendor_hisi_hi35xx_platform - Gitee.com
再看一個(gè)PR示例,這個(gè)示例代碼改動(dòng)多,但是幾乎沒(méi)有詳細(xì)說(shuō)明,所以不知道為什么可以被加入到主庫(kù)
大家可以把PR都點(diǎn)開(kāi)來(lái)看一遍,大概就清楚流程了。
目前的修改大都是筆誤類的,看樣子應(yīng)該是實(shí)驗(yàn)后發(fā)現(xiàn)的,如果專門看估計(jì)很難發(fā)現(xiàn)這種錯(cuò)誤的。
如何提交【輕量級(jí)PR】
大家一定都看到【輕量級(jí)PR】了,這個(gè)其實(shí)很方便,使用方法見(jiàn)下面的截圖:
點(diǎn)擊Web IDE進(jìn)入:
編輯:hfy
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7025瀏覽量
124707 -
SDK
+關(guān)注
關(guān)注
3文章
1057瀏覽量
47343 -
鴻蒙系統(tǒng)
+關(guān)注
關(guān)注
183文章
2638瀏覽量
67492
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論