0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-10 17:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

特性

特性配置规则

下面介绍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" ]
      }
    }
    
    `HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿`
    

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


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


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    6140

    浏览量

    113749
  • 鸿蒙
    +关注

    关注

    60

    文章

    2864

    浏览量

    45394
  • OpenHarmony
    +关注

    关注

    31

    文章

    3928

    浏览量

    20737
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    鸿蒙OpenHarmony开发板:【产品配置规则

    产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、部件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:**ve
    的头像 发表于 05-09 10:32 2044次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>开发板</b>:【产品<b class='flag-5'>配置</b><b class='flag-5'>规则</b>】

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板

    大家期待已久的迅为RK3568开发板终于迎来了鸿蒙4.1系统的强势支持!想知道如何实现快速开发学习吗?跟着我们一起来探索吧! 迅为RK3568开发板: 想象一下,你手中的RK3568
    发表于 07-23 10:44

    openharmony开发openharmony开发板

    现在市面上支持OpenHarmony开发板已经非常多了,OpenHarmony不仅仅只能在海思系列芯片上运行,比较常见的有HiSpark、小熊派系列。这些开发板都是基于海思的Hi38
    的头像 发表于 06-24 09:03 4272次阅读

    触觉智能Purple Pi OH鸿蒙开发板成功适配OpenHarmony5.0 Release,开启新征程

    触觉智能Purple Pi OH鸿蒙开发板,成功适配OpenHarmony5.0 Release版本!为大家带来OpenHarmony5.0特性
    的头像 发表于 10-25 10:51 1611次阅读
    触觉智能Purple Pi OH<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>成功适配<b class='flag-5'>OpenHarmony</b>5.0 Release,开启新征程

    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    本文介绍开源鸿蒙OpenHarmony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新Open
    的头像 发表于 11-18 19:03 1306次阅读
    如何在开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>开启SELinux模式?RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示

    OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

    本文介绍开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmon
    的头像 发表于 11-27 09:31 1087次阅读
    <b class='flag-5'>OpenHarmony</b>属性信息怎么修改?触觉智能RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>来演示

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval
    的头像 发表于 12-24 11:46 1111次阅读
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?触觉智能RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开
    的头像 发表于 12-30 10:08 1553次阅读
    <b class='flag-5'>OpenHarmony</b>源码编译后烧录镜像教程,RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
    的头像 发表于 03-04 16:31 888次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发板</b><b class='flag-5'>openharmony</b><b class='flag-5'>鸿蒙</b>烧写及测试-第1章 体验<b class='flag-5'>OpenHarmony</b>—烧写镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
    的头像 发表于 03-05 10:53 897次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发板</b><b class='flag-5'>openharmony</b><b class='flag-5'>鸿蒙</b>烧写及测试-第2章<b class='flag-5'>OpenHarmony</b> v3.2-Beta4版本测试

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART
    的头像 发表于 03-25 11:02 1321次阅读
    【北京迅为】iTOP-RK3568<b class='flag-5'>开发板</b><b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>系统南向驱动<b class='flag-5'>开发</b>实操-HDF驱动<b class='flag-5'>配置</b>UART

    鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置

    本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置鸿蒙北向开发入门必备!由触觉智能Purple Pi OH
    的头像 发表于 03-28 18:05 1368次阅读
    <b class='flag-5'>鸿蒙</b>北向<b class='flag-5'>开发</b><b class='flag-5'>OpenHarmony</b>5.0 DevEco Studio<b class='flag-5'>开发</b>工具安装与<b class='flag-5'>配置</b>

    贝启BQ3568HM 开发板被选用为 OpenHarmony 明星开发板

    经开放原子开源基金会OpenHarmony社区官方测评评选,贝启科技BQ3568HM开源鸿蒙开发板被正式选用为OpenHarmony明星开发板
    的头像 发表于 05-25 00:22 1219次阅读
    贝启BQ3568HM <b class='flag-5'>开发板</b>被选用为 <b class='flag-5'>OpenHarmony</b> 明星<b class='flag-5'>开发板</b>

    触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例

    本文介绍OpenHarmony开源鸿蒙系统的USB控制传输功能实现及相关代码示例,基于触觉智能RK3576开发板PurplePiOH2演示。OpenHarmony的USB通信介绍实现
    的头像 发表于 09-30 16:31 1242次阅读
    触觉智能RK3576<b class='flag-5'>开发板</b><b class='flag-5'>OpenHarmony</b>开源<b class='flag-5'>鸿蒙</b>系统USB控制传输功能示例

    触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板

    2025年9月19日,在官网上线开源鸿蒙OpenHarmony6.0Release仅13天,触觉智能宣布旗下PurplePiOH开发板成功完成OpenHarmony6.0Release
    的头像 发表于 10-29 08:00 404次阅读
    触觉智能Purple Pi OH<b class='flag-5'>开发板</b>率先适配<b class='flag-5'>OpenHarmony</b>6.0 Release,<b class='flag-5'>鸿蒙</b>明星<b class='flag-5'>开发板</b>