鸿蒙源码入口在哪里?通过阅读doc和Pull Request寻找入口| 解读鸿蒙源码

原创
2020/09/26 02:11
阅读数 6.7K

寻找鸿蒙源码入口

网上说鸿蒙操作系统开源了,全部134个仓库

OpenHarmony - Open_Harmony - Gitee.com

啥?134个仓库是什么东西?不应该是1个仓库吗?Linux源码好像就一个压缩吧,为什么鸿蒙冒出134个仓库来,然后看那些仓库名,很多hi35xx,难道是海思摄像头操作系统?不应该是桌面操作系统吗?

还是上网搜吧,因为鸿蒙源码刚开源,所以网上是不会搜到源码讲解的,搜到的基本都是鸿蒙OS应用开发教程,这个和鸿蒙源码是两回事哈。

搜到一个官方开发教程

创建一个新的工程

看完hello world后,发现这个和鸿蒙源码是两回事,我理解是这个开发的应用运行在华为设备操作系统上,开源的就是这些设备上操作系统。

所以得到如下的理解

华为硬件设备->鸿蒙操作系统->SDK->HUAWEI DevEco Studio基于SDK二次开发->APP->运行在鸿蒙操作系统->程序控制华为硬件设备工作,所以那134仓库估计就是操作系统五花八门的功能组件了。

SDK 官网有个

术语

页面,这是个突破口,因为SDK最终是和操作系统打交道的,所以SDK必然调用的是操作系统的接口,所以这里的术语也差不多是操作系统提供的核心业务接口了。

所以现在就是要在源码里找到这些术语,怎么找?当然是把这些仓库全部下载下来全局搜下,网上已经有人共享了,这里分享下:

(鸿蒙2.0完整源码(截止200916,134个仓库)

image-20200917222032887

这时再回到官方的鸿蒙仓库

OpenHarmony - Open_Harmony - Gitee.com

发现好理解了:

image-20200917215326693

仓库还是很多的,重点关注的是文档仓库,doc仓库就在第1页上面,如果仔细浏览一下第1页也能找到

docs: OpenHarmony开发者文档
这里看到一个现象,就是PR已经有154个合并了,就是差不多至少有几十人多人已经在提交代码了,不知道他们是谁,感兴趣的可以观察一下PR提交者的主页哈,看看有没有什么项目。

所以,入口就是看别人已经被合并的PR。

doc

docs: OpenHarmony开发者文档

[思维导图在线] (https://www.processon.com/view/link/5f6c09997d9c08039fb687d4)

上面思维导图节点可以点击展开,可以点击上面思维导图里面的链接,方便跳转,就不需要看doc仓库了

思维导图图片

开发者文档是很重要的资料,有必要把整个仓库都浏览一遍,这里浏览后手动绘制了一个思维导图,大家可以把前面的总仓库下载下来,然后在vscode里用Go Live功能在浏览器里看。

pull request

提交代码是提高存在感最快的方法,目前鸿蒙总仓一共有200多个提交,相比于134个仓库而言,其实PR不算多,这么看来提交代码的远比写源码分析博客的多。


我们来看一个简单的代码提交示例

[audio_framework] audio encoder error auto rate. · Pull Request !1 · OpenHarmony/multimedia_frameworks_audio_lite - Gitee.com


我们再看一个有自动集成测试的提交示例

【轻量级 PR】:fix typo for CoapCreatUdpClient · Pull Request !3 · OpenHarmony/communication_services_softbus_lite - Gitee.com

发现为什么同意合并有的是机器人有的人类检查员


再来看一个

Code optimization for hdf uart interface · Pull Request !1 · OpenHarmony/vendor_hisi_hi35xx_platform - Gitee.com

再看一个PR示例,这个示例代码改动多,但是几乎没有详细说明,所以不知道为什么可以被加入到主库

大家可以把PR都点开来看一遍,大概就清楚流程了。
目前的修改大都是笔误类的,看样子应该是实验后发现的,如果专门看估计很难发现这种错误的。

如何提交【轻量级PR】

大家一定都看到【轻量级PR】了,这个其实很方便,使用方法见下面的截图:


点击Web IDE进入:


文章末尾超链接注明:本文参与了「解读鸿蒙源码」技术征文,欢迎正在阅读的你也加入。

#鸿蒙专区 #鸿蒙源码

展开阅读全文
1
0 收藏
分享
加载中
图片都挂了,希望楼主能修复下。
2020/09/27 13:42
回复
举报
不好意思,重发了转成os本地的,用的github图片链接
2020/09/27 14:57
回复
举报
你好,现在图片可以看吗,勾选了上传图片到OSCHINA,感觉没效果呀,可能图片太多了 右键复制地址还是GitHub的:https://raw.githubusercontent.com/eatcosmos/assets/master/20200926023427.png
2020/09/27 22:16
回复
举报
更多评论
打赏
3 评论
0 收藏
1
分享
返回顶部
顶部