论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
鸿蒙系统编译方式
鸿蒙系统编译方式
悠扬随风
金牌会员
|
2024-6-13 21:24:39
|
显示全部楼层
|
阅读模式
楼主
主题
656
|
帖子
656
|
积分
1968
编译原理
编译构建指导:https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-build-all.md,文档先容了鸿蒙系统编译原理和基本规则。阅读这部分文档,在开辟初期,编译和阅读部分设置代码时能基本明白其意义和作用。
OpenHarmony编译系统是以GN和Ninja构建为基座,对构建和设置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能:
以部件为最小粒度拼装产品和独立编译。
支持轻量、小型、标准三种系统的办理方案级版本构建,以及用于支撑应用开辟者使用IDE开辟的SDK开辟套件的构建。
支持芯片办理方案厂商的机动定制和独立编译。
更详细原理先容,请自行阅读上面链接文档。基础编译工具gn和Ninja干系的非官方资料:
GCC、CMake、CMakelist、Make、Makefile、Ninja啥关系?一图讲透!
鸿蒙源码构建工具Gn 与 Ninja 的先容及使用入门
GN语言和操作
鸿蒙构建系统——gn官方FAQ翻译,以及gn官方文档分享
gn、Ninja是google发展出来的,看干系的原始文档,必要访问google网站,以上文档应用同仁的总结,帮助明白gn、Ninja,以及明白和make、makefile的区别。gn、Ninja是发展出的一套新的编译工具,如make、makefile、cmake等。
网站 链接 gn项目官网 https://gn.googlesource.com/gn/ Ninja项目 https://gitee.com/mirrors/ninja Ninja官网 https://ninja-build.org/
编译方式
概述
通读openharmony网站编译干系文档,鸿蒙系统有三种编译方式
下令 实现方式 hb OpenHarmony的下令行工具,用来执行编译下令 build脚本 build.py调用gn、ninja、gcc,编译轻量、小型系统;build.sh后期迭代版本参加,可编译全类型版本 hpm 调用任意编译下令,具体有项目编译构建脚本决定,如make、build、hb等。 系统的具体编译方式,具体参照项目提供的文档,有些客制化系统,大概会使用项目自身设置的编译方式。
注意:
在使用以下编译方式时,基于搭建好的编译环境,如docker、假造机等,不必要再安装编译工具,直接执行编译下令即可。
hb编译
ohos-build
hb是python包ohos-build中的下令,ohos-build包官网:https://pypi.org/project/ohos-build/
hb是基于gn和Ninja的编译框架,用于编译鸿蒙系统组件。
hb安装
python3 -m pip install --user ohos-build
复制代码
文档中出现的python3 -m pip install --user build/hb应该是笔误。除了从官网安装hb下令,有些鸿蒙系统(轻量、小型、标准都是鸿蒙系统)源码中的build/lite目次下包含hb源码,可以使用下令
python3 -m pip install --user build/lite
复制代码
安装源码目次的hb。假如编译出现错误,大概可以实验直接使用源码中的hb安装包,通过以上下令安装。hb是鸿蒙系统基本的下令行工具,源码目次位于鸿蒙系统根目次下build/lite/hb,ohos-build也可以下载到hb源码。
hb安装异常处置惩罚
:https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-pkg-common-hberr.md
编译使用
常用下令
下令 阐明 hb set 选择要编译的产品。hb set -h检察下令选项。 hb build 执行编译,可以使用hb build -h检察详细的编译下令选项,如hb build -f(逼迫编译) hb clean 清除已编译结果。全量编译前使用,确保系统会全新编译目标文件。
编译执行步骤
系统类型 文档地址 轻量系统 https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-pkg-3861-build.md 小型系统 https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-pkg-3516-build.md 标准系统 https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-pkg-3568-build.md 若搭建编译环境使用docker、假造机镜像等已配好的环境,则不必要再安装下令,按照系统文档直接执行编译下令即可。假如系统没有阐明的编译方式,具体项目标编译方式大概不支持,在已配好的环境也大概执行不乐成,如有些轻量型项目不使用gn下令,编译脚本直接调用ninja,此种情况使用hb编译会出错。
build脚本
build脚本有两种build.sh和build.py。
build.py
编译源码(轻量系统和小型系统)(链接打开后,滚动条向下拉),在项目根目次包含build.py脚本,build.py通过脚本调用gn、ninja、gcc对系统机型编译。具体编译参照项目编译文档,如案例:护花使者。
build.sh
使用build.sh脚本编译源码:https://docs.openharmony.cn/
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
悠扬随风
金牌会员
这个人很懒什么都没写!
楼主热帖
IDEA: 如何导入项目模块 以及 将 Java ...
命题逻辑等值演算
【Web前端】HTML详解(上篇)
(8) PyQt 设计并实现【工厂扫码装箱系 ...
互联网官方协议标准(rfc5000) ...
Java Long类parseLong()方法具有什么功 ...
详解kubernetes五种暴露服务的方式 ...
王心凌再次爆火,为了防止收费,我连夜 ...
文盘Rust -- 把程序作为守护进程启动 ...
Java基础---数据类型
标签云
挺好的
服务器
快速回复
返回顶部
返回列表