问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程

发布网友 发布时间:2024-10-09 20:06

我来回答

1个回答

热心网友 时间:2024-10-26 05:36

构建工具的重要性不言而喻,它在工程的编译、连接、打包过程中发挥着关键作用。构建工具定义了哪些源文件需要被编译、如何编译,哪些库文件需要创建以及如何创建,最终输出所需文件的规则。鸿蒙轻内核(L1/liteos)的构建工具是hb,它是ohos-build的简称,而ohos则是openharmony os的简称。hb通过命令行安装,是一个用Python编写的构建工具。其源代码位于./build/lite目录下。

鸿蒙构建系统由Python、gn、ninja、makefile几个部分组成。每个部分都有其特定功能,负责处理各自擅长的构建任务。在构建过程中,如果直接跳过hb部分,而使用gn gen命令,可以看到构建流程的简化结果。

为了更有效地调试hb,推荐使用VSCode进行。创建一个launch.json文件,然后粘贴特定代码即可进行调试。调试过程包括设置和编译两个关键步骤。

在设置阶段,通过执行hb set命令,系统会在源码根目录生成ohos_config.json配置文件。这个配置文件包含固定的配置项,由Config类管理。通过设置断点,可以直观地观察调试现场,为后续的编译步骤做好准备。

编译阶段通过hb build命令进行。源码主要位于./build/lite/hb/build/*.py目录下。建议深入探索这些源码,以理解每个细节。编译流程分为两步:首先通过gn_build生成.ninja文件,然后使用ninja_build执行构建任务。关于gn和ninja的使用方法,后续会有详细的文章进行说明。

在执行编译过程时,最后会调用exec_command方法来执行相关命令。这个方法位于build/lite/hb/common/utils.py文件中,通过在此处设置断点,可以跟踪exec_command方法的调用流程,深入了解构建工具的内部实现细节。

通过深入理解和调试构建工具,开发者可以更高效地完成项目构建任务,同时也能对构建流程有更深入的了解。最后,建议在调试过程中保持耐心,逐步探索每个步骤的细节,以便更好地掌握构建工具的使用和优化。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 玫瑰纯露敷脸有什么危害 信用卡逾期未还款后多久会被列入黑名单 不锈钢厨具哪个牌子好 与黄河有关的歌曲(写歌词) 有一句歌词奔腾的黄河吼起来 含有"黄河"这俩字的歌词都有嘛??? ...文明是我们现代科学所无法解的,它们是外星人所建还是地球人所... “地球人已经阻止不了...”这句话最初是出自哪里? 收音机能接电吹管吗当音响吗 三个月只跑2000公里的车需要保养吗? 汽车多久一次大保养 车跑多少公里大保养一次 名著中的科学:尼尔斯骑鹅旅行记目录 单边行情用什么指标? 常用技术指标及回测 魅族MX3的800万和索尼L36h的1300万像素拍出来的照片有很大的差别吗? 想买个1600左右的手机,现在在考虑小米2s 小米3 魅族mx3 还有vivo系列... 请问三千五元左右的手机 想换一爪机,没多少钱 希望大神们介绍一个3000以下的神机 在此拜谢了... 现在哪款手机性价比最高?我选了HTC ONE 索尼L36H 华为荣耀3 魅族MX3... 本人学生最近想入手一部3300上下价格的手机求推荐。 【仓颉】配置仓颉运行环境VSCode + Win11 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 Vue3+TS版本Uniapp:项目前置操作 云南碧塔海湿地的介绍 云南碧塔海湿地湿地资源 碧塔海地址在哪里? 云南碧塔海湿地的地理位置 微信辅助账号如何申请 辅助账号申请方法介绍 抖音如何申请辅助账号? 求问:ipse的柔肤水效果怎么样 无锡职业技术学院对口单招专业有哪些? 无锡职业技术学院在河南有没有单招 摩托车消户后还能再入户吗? 摩托车销户后还能转让继续注册吗 我想在网上买了一辆摩托车,(正规的)。对方销户后,我能不能在我这里直 ... 爱一个人却什么都给不了她心里好难过带字图片 ...还有“我永远只爱她一个人”每一个字的闪动图片 谁能帮我做三张黑底白字图片啊!一个人名!白文政 纯露有什么作用和功效? 如何能让一个人变坏