OHOS 3.1简明编译流程

举报
liangkz 发表于 2025/06/03 15:01:58 2025/06/03
【摘要】 OHOS 3.1简明编译流程梁开祝 2022.04.27OHOS3.1版本,明显可以看出标准系统的编译流程相比LTS3.0版本,精简了非常多,标准系统的build.sh和小型系统的hb build实际进行了合并统一,我对相关的编译流程做了一下整理,如下图所示。实测通过build.sh编译的log如下:++++++++++++++++++++++++++++++++++++++++--pr...

OHOS 3.1简明编译流程

梁开祝 2022.04.27

OHOS3.1版本,明显可以看出标准系统的编译流程相比LTS3.0版本,精简了非常多,标准系统的build.sh和小型系统的hb build实际进行了合并统一,我对相关的编译流程做了一下整理,如下图所示。

实测通过build.sh编译的log如下:

++++++++++++++++++++++++++++++++++++++++
--product-name rk3568 --ccache
[1]//build/build_cripts/build.sh: Begin:
[2]//build/scripts/entry.py: Begin to do_build:
[3]//build/lite/build.py: Begin to build:      { rk3568 }
[4]//build/lite/hb/__main__.py: Begin:
[5]//build/lite/hb_internal/build/build.py: create a 'Build build' and collect cmd+args
[5]//build/lite/hb_internal/build/build.py: build.build( ['rk3568'] )
--------------------------------------------------------------------------
[6]//build/lite/hb_internal/build/build_process.py: build ccache

[OHOS INFO] Set cache size limit to 50.0 GB
--------------------------------------------------------------------------
[6.gn]//build/lite/hb_internal/build/build_process.py: gn_build run gn_gen

[OHOS INFO] [.gn] run .gn -> //build/core/gn/dotfile.gn ==>> root -->>
[OHOS INFO] =======================================================
[OHOS INFO] [gn]  -->>root : //build/core/gn/BUILD.gn: Begin
[OHOS INFO]       root_out_dir      = //out/rk3568
[OHOS INFO]       root_build_dir    = //out/rk3568
[OHOS INFO]       root_gen_dir      = //out/rk3568/gen
[OHOS INFO]       current_toolchain = //build/toolchain/ohos:ohos_clang_arm
[OHOS INFO]       host_toolchain    = //build/toolchain/linux:clang_x64
[OHOS INFO]       enable_ramdisk    = true
[OHOS INFO] [gn]  collect args for 'load.py'
[OHOS INFO] [gn]  _platforms_config_file: //out/preloader/rk3568/platforms.build
[OHOS INFO] [gn]  _subsystem_config_file: //out/preloader/rk3568/subsystem_config.json
[OHOS INFO] [gn]  exec_script: //build/loader/load.py
...........
[OHOS INFO] [gn]  -->>root: //build/core/gn/BUILD.gn: Begin
[OHOS INFO] =======================================================
...........
[OHOS INFO] Done. Made 15929 targets from 2670 files in 71720ms
-------------------------------------------------------------------------------
[6.ninja]//build/lite/hb_internal/build/build_process.py: ninja_build run ninja

[OHOS INFO] [1/1] Regenerating ninja files
[OHOS INFO] [1/728] CC clang_x64/obj/third_party/pcre2/pcre2/src/libpcre2/pcre2_config.o
...........
[OHOS INFO] [639/640] STAMP obj/build/ohos/images/make_images.stamp
[OHOS INFO] [640/640] STAMP obj/build/core/gn/images.stamp

--------------------------------------------------
[6.PostBuild]    build_process.py: PostBuild.clean
[7]//build/lite/hb_internal/common/misc.py: PostBuild.clean()
[OHOS INFO] //build/scripts/summary_ccache_hitrate.py: main()
[OHOS INFO] -------------------------------------------------
[OHOS INFO] ccache summary:
...........
[OHOS INFO] rk3568 build success
[OHOS INFO] cost time: 0:03:05
[6]//build/lite/hb_internal/build/build_process.py: build success
[4]//build/lite/hb/__main__.py: End. status[ 0 ]
[1]//build/build_cripts/build.sh: End.
=====build  successful=====
++++++++++++++++++++++++++++++++++++++++

通过hb build来编译,直接就是从[4]开始,到[4]结束。
中间的过程请小伙伴们自行深入去理解了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。