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

    文章

    4547

    浏览量

    94750
  • 鸿蒙
    +关注

    关注

    55

    文章

    1879

    浏览量

    42181
  • OpenHarmony
    +关注

    关注

    24

    文章

    3438

    浏览量

    15254
收藏 人收藏

    评论

    相关推荐

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

    产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、部件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:**ve
    的头像 发表于 05-09 10:32 600次阅读
    <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开发板解析:【Rust模块配置规则和指导】

    Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust代码创建工程和构建编译。 OpenHarmony为了集成
    的头像 发表于 05-10 11:32 717次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>开发板</b><b class='flag-5'>解析</b>:【Rust模块<b class='flag-5'>配置</b><b class='flag-5'>规则</b>和指导】

    鸿蒙开发板试用】HiSpark Wi-Fi IoT 鸿蒙开发板 试用活动名单公布

    ``开发板来了~抱歉让大家久等了~ 经过10天的申请,截止今天一共有399位开发者提交了HiSpark Wi-Fi IoT 鸿蒙开发板试用申请。试用链接:https
    发表于 09-21 19:57

    鸿蒙开发板试用】HiSpark AI Camera 鸿蒙开发板 试用活动名单公布

    ``开发板来了~抱歉让大家久等了~经过10天的申请,截止今天一共有270位开发者提交了HiSpark AI Camera 鸿蒙开发板试用申请。试用链接:https
    发表于 09-21 20:08

    初识小熊派鸿蒙开发板

    小熊派鸿蒙开发板有何功能?小熊派鸿蒙开发板都包括哪些内容?
    发表于 10-26 07:50

    基于OpenHarmony应用开发的签名配置

    开发OpenHarmony应用的第一步就是配置环境,如果你需要使用开发板(真机)进行调试,那就免不了配置签名信息,本文详细介绍了基于
    发表于 03-11 15:32

    鸿蒙openharmony刷到RK3566开发板上的步骤

    开发板可以控制更多的硬件,通过软硬结合得方式更好得体验鸿蒙。本文介绍的是如何把鸿蒙openharmony刷到瑞芯微RK3566开发板上。网上
    发表于 03-15 14:36

    每日推荐 | OpenHarmony 3.1新特性使用,多款鸿蒙开发板快速上手教程

    30号正式发布,目前DAYU200是唯一一款支持3.1版本的开发板。我也是第一时间从润和软件那边拿到一块板子,亲自上手体验了一下。整体效果非常惊艳,整个系统功能越来越多,包括相机、电话、音乐播放、系统
    发表于 04-07 10:07

    RK3568开发板鸿蒙OpenHarmony系统固件烧写步骤

    ”)的压缩包到 Windows 的任意路径,然后解压压缩包会得到 RKDevTool_release_v2.84 文件夹  2 拷贝鸿蒙镜像到烧写器中,鸿蒙镜像网盘下载地址为“iTOP-3568 开发板
    发表于 07-15 16:15

    【重磅来袭】OpenHarmony生态开发板抢先体验!

    发起的OpenHarmony生态开发板评测试用专题活动正式上线!注:按厂商参与活动顺序排列1. 九联科技Unionpi Tiger开发板Tiger是九联科技推出的OpenHarmony
    发表于 07-28 11:16

    每日推荐 | 鸿蒙IPC开发板免费试用,OpenHarmony内核对象队列算法详解

    HiSpark IPC DIY Camera开发板免费试用啦,想要申请的小伙伴看过来啦!推荐理由:各位开发者看过来了,还没有试用过这块鸿蒙IPC开发板
    发表于 08-10 10:26

    迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写步骤

    1、迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写首先拷贝烧写器(烧写器在光盘资料“iTOP-3568 开发板\01_【iTOP-RK3568
    发表于 08-26 17:45

    【软通动力鸿湖万联扬帆系列“竞”开发板试用体验】鸿湖万联扬帆系列“竞”开发板试用测评报告一初识鸿蒙系统

    鸿蒙操作系统的内容,但细心观察会发现,我们拿到的鸿蒙开发板的系统叫 OpenHarmong,那么这个OpenHarMony 和HarMony 是什么关系呢?经过一番查询资料,大概了解
    发表于 09-18 23:29

    【触觉智能 Purple Pi OH 开发板体验】一、OpenHarmony鸿蒙系统)开发环境配置以及示例代码

    不同HarmonyOS 支持 previewer 预览、模拟器运行、真机运行三种方式;OpenHarmony 支持 previewer 预览、真机(目前主要使用 3516 系列开发板)运行。首先,目前
    发表于 08-31 11:03

    鸿蒙OpenHarmony开发板:【子系统配置规则

    通过build仓下的subsystem_config.json可以查看所有子系统的配置规则
    的头像 发表于 05-08 22:07 82次阅读
    <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>】