鸿蒙NEXT开发-鸿蒙三方库

embedded/2025/2/12 11:42:36/

基本介绍

三方库是开发者在系统能力的基础上进行了一层具体功能的封装,对其能力进行拓展,提供更加方便的接口,提升开发效率的工具。

我们在之前的课程中学习过如何安装三方库axios了,我们大家可以通过ohpm install @ohos/axios进行三方库axios的安装,也可以使用ohpm uninstall @ohos/axios进行三方库的卸载。

OHPM(OpenHarmony Package Manager)由OpenHarmony三方库中心仓网站、命令行工具、OpenHarmony三方库中心仓仓库三个部分组成,其功能如下:

  • OpenHarmony三方库中心仓网站(website):用于检索、查看所需 OpenHarmony 三方库信息,也可管理关于 ohpm 的个人配置
  • 命令行工具(cli):OpenHarmony 三方库的包管理工具
  • OpenHarmony三方库中心仓仓库(registry):存储三方库软件及其元数据的仓库,其地址为:https://ohpm.openharmony.cn/ohpm

三方库中心仓的地址:OpenHarmony三方库中心仓,我们可以在这里面查看到多种多样的三方库。

开发一个三方库

如需发布一个 har 包,必须包含 oh-package.json5、README.md,CHANGELOG.md 和 LICENSE 四个文件,若文件缺失,会导致上架至中心仓失败。

HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。

1、创建一个新的工程项目

2、创建库模块,选择static library
  1. 鼠标移到工程目录顶部,单击右键,选择New > Module,在工程中添加模块。
  2. Choose Your Ability Template界面中,选择Static Library,并单击Next

创建完成后,会在工程目录中生成库模块及相关文件。

3、对所创建的库模块进行开发,需要完善库模块中生成的 oh-package.json5 文件

OpenHarmony 三方库命名规范:

  • 格式为:@group/packagename 或 packagename,长度:[1, 128],全局唯一,即一个应用中,不同 package 的 package name 不能重名;
  • name 中只有在存在组织名称 group 时,才能有且仅能有一个'@'符号,有且仅有一个路径分隔符'/';
  • 组织名称 group 格式:
    (1)仅允许以小写字母开头,可由小写字母、数字、中划线(-)、下划线(_)组成。
    (2)禁止以中划线(-)、下划线(_)结尾。
    (3)不允许为 ArkTS 的保留关键字。
  • packagename 格式:
    (1)仅允许以小写字母开头,可由小写字母、数字、点(.)、中划线(-)、下划线(_)组成。
    (2)禁止以点(.)、中划线(-)、下划线(_)结尾。
    (3)不允许为 ArkTS 的保留关键字。
  • 建议三方库名称携带组织名称 group,便于管理和识别三方库。

当您选择三方库名称时,请满足 OpenHarmony 三方库命名规范,同时也请选择名称是:

  • 独特的;
  • 有描述性的;
  • 符合正常条例的,例如,请不要给您的三方库起一个冒犯性的名字,也不要使用别人的商标名。

此外,在为未加命令空间的三方库选择名称时,还请选择一个名称:

  • 尚未归他人所有;
  • 与另一个三方库名称的拼写方式不同;
  • 不会混淆其他作者身份。

{"license": "Apache-2.0","devDependencies": {},"keywords": ["OpenHarmony","HarmonyOS","file","fileUpload","upload","image","download"],"ibestservices": {"org": "opensource"},"author": "ibestservices","name": "@ibestservices/file_operation","description": "A harmonyos plugin for file and image upload download","main": "index.ets","repository": "https://gitee.com/ibestservices/file_operation.git","version": "4.0.0","dependencies": {},"tags": ["file_operation"]
}

4、在库模块的根目录中,创建一个 README.md 文件,描述您三方库的代码以及如何使用它,文件不能为空

5、在库模块的根目录中,创建一个 CHANGELOG.md 文件,描述您三方库的代码不同版本的变更内容,文件不能为空

6、在库模块的根目录中,创建一个 LICENSE 文件,指定该软件包可以在什么样的许可下被使用、修改和共享,文件不能为空

直接找个apache2.0开源协议即可

7、利用 DevEco Studio 对开发后的库模块打成 HAR 包

开发完库模块后,选中模块名,然后通过DevEco Studio菜单栏的Build > Make Module ${libraryName}进行编译构建,生成HAR。HAR可用于工程其它模块的引用,或将HAR上传至ohpm仓库,供其他开发者下载使用。

编译构建的HAR可在模块下的build目录下获取,包格式为*.har。


http://www.ppmy.cn/embedded/161585.html

相关文章

差速驱动机器人MPC算法实现-C++

差速驱动机器人,其运动学模型需要考虑线速度和角速度。MPC(模型预测控制)需要建立预测模型,并在每个控制周期内求解优化问题。 差速驱动机器人的运动学方程通常包括位置(x, y)和航向角θ,线速度…

六.logback记录日志文件并按大小日期分割文件

文章目录 前言一、log4j,log4j2,logback,slf4j的关系?二、使用logback配置自定义日志记录1.引入库2.创建配置文件logback-spring.xml3.配置示例如下 总结 前言 通常我们项目中控制台能显示输出系统运行的日志,但是当我…

SMB开启和关闭

高版本和低版本操作系统之间共享文件会因为SMB协议问题无法访问,开启和关闭操作如下: --查看 PS C:\Windows\system32> Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol EnableSMB1Protocol EnableSMB2Protocol ----…

国产化人工智能“产学 研用”一体化创新模式的智慧快消开源了

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。国产化人工智能“…

Arduino 第四章:数字输出 —— 深入解析引脚差异与 LED 顺序点亮实践

引言 在电子制作与自动化控制领域,Arduino 以其简单易用和强大的扩展性成为众多爱好者和专业开发者的首选平台。数字输出作为 Arduino 基础且重要的功能之一,能让我们通过程序控制外部设备,如点亮 LED 灯、驱动继电器等。在这一章节&#xf…

timescaladb时序数据库高可用docker镜像使用

timescaladb时序数据库高可用docker镜像使用 timescaladb时序数据库高可用,基于bitnami/postgresql-repmgr docker镜像制作,实现数据同步和故障自动转移主备切换。 使用示例 参考,附docker compose配置例。 pg-0:image: wjy2020/timescal…

算法兵法全略(译文)

目录 始计篇 谋攻篇 军形篇 兵势篇 虚实篇 军争篇 九变篇 行军篇 地形篇 九地篇 火攻篇 用间篇 始计篇 算法,在当今时代,犹如国家关键的战略武器,也是处理各类事务的核心枢纽。算法的世界神秘且变化万千,不够贤能聪慧…

深入解析 Android 系统属性 跨进程 API:SystemProperties、ContentObserver 的使用

基础篇.系统属性 & 跨进程 API 📢 1. 职业规划篇 来聊聊安卓职业规划?整机开发大专能做么? 📢 2.基础篇 基础篇.前言 基础篇.编译环境搭建 基础篇.源码目录简介 基础篇.系统 mk_bp 讲解 基础篇.开机动画定制 基础篇.定制桌面壁…