网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

鸿蒙OpenHarmony开发板解析:【特性配置规则】

时间:2024-05-10 17:24

人气:

作者:admin

标签:

导读:下面介绍feature的声明、定义以及使用方法。...

特性

特性配置规则

下面介绍feature的声明、定义以及使用方法。

  • feature的声明

  • 开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]。
    在部件的bundle.json文件中通过feature_list来声明部件的feature列表,每个feature都必须以" {部件名} "开头。示例如下:

    {
      "name": "@ohos/xxx",
      "component": {
        "name": "partName",
        "subsystem": "subsystemName",
        "features": [
          "{partName}_feature_A"
        ]
      }
    }
    
    features中可以为部件声明多个feature。
    
  • feature的定义
    在部件内可通过以下方式定义feature的默认值:

    declare_args() {
      {partName}_feature_A = true
    }
    

    该值是此部件的默认值,产品可以在部件列表中重载该feature的值。

    feature需给部件内多个模块使用时,建议把feature定义在部件的全局gni文件中,各个模块的BUILD.gn中import该gni文件。

  • feature的使用
    BUILD.gn文件中可通过以下方式进行根据feature决定部分代码或模块参与编译:

    if ({partName}_feature_A) {
        sources += [ "xxx.c" ]
    }
    
    # 某个特性引入的依赖,需要通过该feature进行隔离
    if ({partName}_feature_A) {
        deps += [ "xxx" ]
        external_deps += [ "xxx" ]
    }
    
    # bundle.json中不支持if判断,如果bundle.json中包含的sub_component需要被裁减,可以定义group进行裁减判断
    group("testGroup") {
      deps = []
      if ({partName}_feature_A) {
        deps += [ "xxx" ]
      }
    }
    
    `HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿`
    

搜狗高速浏览器截图20240326151450.png
也可以通过以下方式为模块定义代码宏进行代码级差异化配置:


if ({partName}_feature_A) {
defines += ["FEATUREA_DEFINE"]
}


审核编辑 黄宇

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信