鸿蒙编译子系统详解(三)hb set流程

文章描述了在IT技术背景下,关于鸿蒙系统的配置文件设置、产品选择、设备信息获取以及编译选项的详细流程,涉及函数如`set_product`、`set_parameter`和`select_compile_option`等。
摘要由CSDN通过智能技术生成

1.5.4.2 hb set流程

源码:

def run(self):
    if not self.args_dict['all'].arg_value:
        self.set_product()
    self.set_parameter()

如果没有参数all,则需要选择product,并处理参数。

def set_product(self):
    self.args_resolver.resolve_arg(self.args_dict['product_name'], self)

def set_parameter(self):
    self.args_resolver.resolve_arg(self.args_dict['all'], self)

arg解析函数:

  • product_name : resolve_product_name()

处理流程

生成的配置文件位于

  • out/hb_args/buildargs.json
  • out/hb_args/setdargs.json
  • ohos_config.json

-p参数如果为空,通过menu菜单选择产品,否则,获取产品信息,出错则退出。

    • 获取产品信息

获取产品信息源码位于build/hb/util/product_util.py,get_product_info()流程:

分析两个目录下的配置json,匹配产品名称和公司名称:

        厂商配置目录vendor

        鸿蒙内置配置目录productdefine/common/products

    • 获取设备信息

获取设备信息源码位于build/hb/util/product_util.py,get_device_info()流程:

分析产品信息的json文件,从中获取设备信息。

    • 菜单menu

menu源码位于/build/hb/services目录下:

./build/hb/services/
├── interface
│   ├── menu_interface.py
├── menu.py

选择产品select_product函数流程

  • all : resolve_set_parameter()

处理流程:

    • 选择编译选项

选择编译选项的源码位于build/hb/services/menu.py,函数名select_compile_option(),流程:

参数及可选值:

        target_cpu:arm,arm64,x86_64,x64

        target_os:android,ios

        build_type: release,profile,debug

        log_level:info,debug

        runtime_mode:release,debug,profile

        build_variant:user,root

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值