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

 特性

特性配置规则

下面介绍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" ]}
    }

搜狗高速浏览器截图20240326151450.png


也可以通过以下方式为模块定义代码宏进行代码级差异化配置:

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

鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:

从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力

内容包含:《鸿蒙NEXT星河版开发学习文档》

  • ArkTS
  • 声明式ArkUI
  • 多媒体
  • 通信问题
  • 系统移植
  • 系统裁剪
  • FW层的原理
  • 各种开发调试工具
  • 智能设备开发
  • 分布式开发等等。

这些就是对往后开发者的分享,希望大家多多点赞关注喔!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3030480.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

抽象类基本概念

抽象类及抽象方法 概念:一个类中没有包含足够的信息来描绘一个具体的对象,这种类被定义为抽象类,含有抽象方法的类也被称为抽象类。 用通俗的话来说就是当一个类的某个功能(方法)实现不确定时,我们就将该…

如何在40分钟之内,又快又准完成四六级阅读柯桥考级英语培训

答题步骤和技巧 1 选词填空 选词填空部分字数在200~300之间,设有10个空,提供15个备选项,从中选出最合适答案。选词填空题相对于普通的完型题简单,但是考察内容基本一致。集中考察的点有语法现象,逻辑衔接和搭配。每空…

mamba-ssm安装卡着不动

项目中用到Mamba的小伙伴,causal_conv1d和 mamba-ssm两个包,但是会卡在Building wheel for mamba-ssm (setup.py) : 为了探究卡在了building的哪一步,加入–verbose进行显示: pip install mamba-ssm --no-cache-dir -…

【MySQL数据库开发设计规范】之命名规范

欢迎点开这篇文章,自我介绍一下哈,本人姑苏老陈 ,是一名JAVA开发老兵。 本文收录于 《MySQL数据库开发设计规范》专栏中,该专栏主要分享一些关于MySQL数据库开发设计相关的技术规范文章,定期更新,欢迎关注&…

Rocketmq如何保证消息不丢失和幂等性

生产者 生产者通过RocketMQ提供的事务消息(两阶段提交)能保证消息的一致性。 第一阶段给Broker发送一个半事务消息,半事务消息是不能消费的消息,broker已经收到生产者发送的消息,但是并未收到生产者的二次确认&#x…

欢乐钓鱼大师游戏攻略,自动钓鱼!

在《欢乐钓鱼大师》的游戏中,每个玩家都沉浸在湖水的世界里,手持钓竿,期待着每次的收获。这不仅是一场简单的游戏,更是一次对技巧和耐心的考验。在这个充满乐趣和挑战的世界中,掌握正确的钓鱼技巧和选择合适的装备至关…

学习3D几何和特征一致的高斯溅射目标去除

earning 3D Geometry and Feature Consistent Gaussian Splatting for Object Removal 学习3D几何和特征一致的高斯溅射目标去除 Yuxin Wang 王玉欣 HKUST &Qianyi Wu Monash University &Guofeng Zhang Zhejiang University &Dan Xu HKUST 香港科技大学&吴倩…

数据结构与算法学习笔记九-二叉树的链式存储表示法和实现(C语言)

目录 前言 1.二叉树的链式存储 2.二叉链表的表示和实现 1.定义 2.创建 4.中序遍历二叉树 5.后序遍历二叉树 6.后序遍历二叉树 7.完整代码 前言 这篇博客主要介绍二叉树的链式存储结构。 1.二叉树的链式存储 上篇文章中介绍了二叉树的顺序存储结构,在最坏的…

MySQL中索引失效的问题

索引失效的情况 这是正常查询情况,满足最左前缀,先查有先度高的索引。 1. 注意这里最后一种情况,这里和上面只查询 name 小米科技 的命中情况一样。说明索引部分丢失! 2. 这里第二条sql中的,status > 1 就是范围查…

解密某游戏的数据加密

前言 最近有个兄弟通过我的视频号加我,咨询能否将这个dubo游戏游戏开始前就将数据拿到从而进行押注,于是通过抓包工具测试了下,发现数据有时候是明文,有时候确实密文,大致看了下有这几种加密:Md5aes、Md5&a…

二、使用插件一键安装HybridCLR

预告 本专栏将介绍如何使用这个支持热更的AR开发插件,快速地开发AR应用。 专栏: Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景,简化了AR开发流程,让用户可更多地关注Unity场景内容的制作。 热更方案 基于Hybri…

深度学习论文: LightGlue: Local Feature Matching at Light Speed

深度学习论文: LightGlue: Local Feature Matching at Light Speed LightGlue: Local Feature Matching at Light Speed PDF: https://arxiv.org/pdf/2306.13643 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/…

软件测试人员必备的60个测试工具,果断收藏了!_测试工程师必备软件

据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。我国对软件测试人才的需求数量还将持续增加,因此软件…

2024北京市人工智能大模型行业应用分析报告

来源:北京市科学技术委员会 方向一为基于AIGC技术的智能审计合规研究,由北京银行提出,以 提高审计工作效率和准确性为核心目标,需要参赛企业针对检查内容, 利用大模型技术寻找并给出相关现象涉及的制度名称及相关原文…

高职学院建设人工智能专业群可行性分析

一、人工智能技术人员的需求分析 随着科技的迅猛发展和数字化转型的深入,人工智能(AI)已成为推动产业升级和社会变革的重要力量。从当前行业趋势和技术发展来看,对于人工智能技术人员的需求预计将呈现爆炸性增长的态势。 首先&am…

YOLOv5改进 | 注意力机制 | 理解全局和局部信息的SE注意力机制

在深度学习目标检测领域,YOLOv5成为了备受关注的模型之一。本文给大家带来的是能够理解全局和局部信息的SE注意力机制。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方…

【Qt】按钮类控件(二)

文章目录 按钮类控件1、Push Button代码示例: 带有图标的按钮代码示例: 带有快捷键的按钮 2、Radio Buttion代码示例: click, press, release, toggled 的区别代码示例: 单选框分组(QButtonGroup) 3、 Check Box代码示例: 获取复选按钮的取值 按钮类控件…

mac苹果电脑卡顿反应慢如何解决?2024最新免费方法教程

苹果电脑以其稳定的性能、出色的设计和高效的操作系统,赢得了广大用户的喜爱。然而,随着时间的推移,一些用户会发现自己的苹果电脑开始出现卡顿、反应慢等问题。这不仅影响使用体验,还会影响工作效率。那么,面对这些问…

如何注册google谷歌gmail邮箱账号?创建谷歌帐号遇到:此电话号码无法用于验证或此电话号码验证次数太多怎么办?

googel谷歌账号,又称为“gmail邮箱账号”主要用于登录谷歌产品服务或第三方支持谷歌账号登录的产品或服务。而部分用户在创建注册谷歌账号时,可能会遇到下以问题。 1、您无法创建谷歌账号; 2、此电话号码无法用于验证; 3、此电…

LED出海混战,雷曼光电“冲锋陷阵”的数智化暗线

2022年春天,在北京冬奥会开幕式上,晶莹剔透的“冰雪五环”从巨型冰块中徐徐升起,成为国人经典集体回忆。这个面积达134平方米、重约3吨的冰雪五环,是LED技术与光影艺术的完美融合。深圳LED上市公司雷曼光电参与“冰雪五环”异形屏…