当前位置: 首页 > news >正文

详解鸿蒙开发如何上传三方库到ohpm仓库

前两天幽蓝君在ohpm仓库上传了自己的第一个三方库,完整体验了一下ohpm的上传流程,感觉还是比较繁琐的,所以把上传流程和一些注意事项分享给大家。

先介绍一下怎么开发一个三方库,在项目名称右键,新建Module,选择static library,在命名时尽量使用小写字母,避免大写。

创建之后项目中会出现三方库目录,你可以在这编写你的三方库代码,开发完之后,还有一些工作要做。

首先在三方库目录的oh-package.json5文件中配置一下必要信息:

name:名称

version:版本号

description:描述

main:入口

author:作者

license:开源协议

另外,再创建三个新的文件,并认真填写信息:

1、README.md

在这里描述你的三方库有什么功能,如何安装和使用

2、CHANGELOG.md

填写每一个版本号的变更内容

3、LICENSE

这里需要填写和oh-package.json5中license对应的许可文件和开源协议,比如license中写的是Apache-2.0,这里就要写对应的许可文件。

这些都完成之后,点击Build菜单下的打包命令。打包完成之后三方库目录下会多出一个build文件夹,在其中的outputs目录下就是打包完成的三方库文件。

为确保上传后能正常使用,你可以先在本地测试一下。本地调用三方库的方法是在项目目录的oh-package.json5文件中引入三方库:

然后就可以在项目中使用三方库了。

下面介绍一下如何上传三方库到ohpm仓库

进入个人中心:

首先要进行认证管理:

点击新增会弹出标题和公钥的输入框,标题随便写,关于公钥,打开终端执行

ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey

~/.ssh_ohpm/mykey 为私钥文件 mykey 的文件路径,按照实际情况指定。指定的私钥存储目录必须存在。

这个目录在哪呢,以mac为例,我的文件在用户/USER/.ssh文件夹里,所以我执行的是

ssh-keygen -m PEM -t RSA -b 4096 -f /Users/用户名/.ssh/ohpm_rsa

执行命令需要输入密码,记住这个密码,在上传库文件时需要用到

执行完之后会创建两个文件,一个带.pub后缀的文件和一个不带后缀的文件。.pub就是公钥文件,将内容复制到公钥输入框中。

不带后缀的是私钥文件,我们要执行以下配置,对于ohpm命令需要到DevEco下执行:

ohpm config set key_path  ~/.ssh_ohpm/mykey

接下来要配置发布id,在ohpm个人中心有一个复制发布码,复制以下,执行以下命令:

ohpm config set publish_id your_publish_id

your_publish_id就是复制的发布码

最后一步,推送三方库到远程仓库:

ohpm publish <HAR路径>

别忘了这里要输一个密码,前面提到过。

上传完成后系统会自动进入审核,在工作日这个审核是比较快的,审核通过就可以在ohpm中心看到自己的三方库啦。#三方SDK##工具效率#

http://www.xdnf.cn/news/762679.html

相关文章:

  • 【Dv3Admin】系统视图系统配置API文件解析
  • 017搜索之深度优先DFS——算法备赛
  • java ExecutorService线程池使用(ExecutorService/Completable异步+ExecutorService线程池)
  • Office安装包2024版
  • ck-editor5的研究 (4):初步使用 CKEditor5 的插件功能
  • 72.编辑用户消息功能之前端实现
  • PCB制作入门
  • 开始通信之旅-----话题通信
  • 关于 java:4. 异常处理与调试
  • C#数字图像处理(二)
  • IO流1——体系介绍和字节输出流
  • 如何用利用deepseek的API能力来搭建属于自己的智能体-优雅草卓伊凡
  • 【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析
  • OpenGL、GLUT、freeGLUT 与 GLFW 的区别
  • 【渲染】拆解《三国:谋定天下》场景渲染技术
  • C++实现汉诺塔游戏自动完成
  • [AD] CrownJewel-1 Logon 4799+vss-ShadowCopy+NTDS.dit/SYSTEM+$MFT
  • QT中子线程触发主线程弹窗并阻塞等待用户响应
  • Ⅰ.计算机二级选择题(C语言概述)
  • 第二章 机器学习基本概念
  • 【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(1)
  • 利用IEEE 802.15.4z-IR UWB系统进行手势检测
  • Python中scapy库详细使用(强大的交互式数据包操作程序和库)
  • 基于 Three.js 的文本粒子解体效果技术原理剖析
  • 002 dart刷题
  • 车载控制器的“机电一体化”深度集成
  • 自编码器Auto-encoder(李宏毅)
  • Go语言实现高性能分布式爬虫系统 - 设计与实践
  • 在线音乐服务器测试报告
  • Codeforces 1027 Div3(ABCDEF)