详解鸿蒙开发如何上传三方库到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##工具效率#
详解鸿蒙开发如何上传三方库到ohpm仓库的更多相关文章
- 详解jQuery uploadify文件上传插件的使用方法
uploadify这个插件是基于js里面的jquery库写的.结合了ajax和flash,实现了这个多线程上传的功能. 现在最新版为3.2.1. 在线实例 实例中用到的php文件UploaderDem ...
- iOS开发--CornerStone上传静态库(.a文件)
首先打开软件左上角 CornerStone-Preferences-SubVersion 第一个地方把对号去掉,第二个地方把.a那个删除,然后save. 然后把你的.a文件放到本地的相应文件夹下, 但 ...
- bt协议详解 基础篇(上)
bt协议详解 基础篇(上) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 ...
- 超全详解Java开发环境搭建
摘自:https://www.cnblogs.com/wangjiming/p/11278577.html 超全详解Java开发环境搭建 在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必 ...
- bt协议详解 DHT篇(上)
bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...
- 详解LUA开发工具及其环境配置
LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...
- [转]javascript console 函数详解 js开发调试的利器
javascript console 函数详解 js开发调试的利器 分步阅读 Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该 ...
- 详解WebService开发中四个常见问题(2)
详解WebService开发中四个常见问题(2) WebService开发中经常会碰到诸如WebService与方法重载.循环引用.数据被穿该等等问题.本文会给大家一些很好的解决方法. AD:WO ...
- 详解iOS开发之自定义View
iOS开发之自定义View是本文要将介绍的内容,iOS SDK中的View是UIView,我们可以很方便的自定义一个View.创建一个 Window-based Application程序,在其中添加 ...
- 使用pycharm开发代码上传到GitLab和GitHub
使用pycharm开发代码上传到GitLab和GitHub 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我这里主要是针对局域网的自减的GitLab服务器,python开发工程师如 ...
随机推荐
- 【CF VP记录】Codeforces Round 1008 (Div. 2)
比赛链接 本文原文发布于博客园,如您在其他平台刷到此文,请前往博客园获得更好的阅读体验. 跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18766 ...
- 通过 API 将Deepseek响应流式内容输出到前端
要实现通过 API 将流式内容输出到前端,可以采用以下技术方案(以 Python 后端 + 前端 JavaScript 为例): 方案一:使用 Server-Sent Events (SSE) 这是浏 ...
- 怎么解决DB读写分离,导致数据不一致问题?
前言 在互联网中大型项目中,读写分离应该是我们小伙伴经常听说的,这个主要解决大流量请求时,提高系统的吞吐量.因为绝大部分互联网产品都是读多写少,大部分都是读请求,很小部分是写请求. 上图: 1)一个主 ...
- 基础指令:sudo提权、通配符、特殊符号、stat命令、id命令、正则表达式
目录 4.4 sudo提权 授权的两种方法 4.4 通配符-查文件 4.5 特殊符号 4.6 stat输出文件的详细内容 4.7 id命令查看用户基本信息 4.8 正则表达式 4.8.1 符号 ^ 4 ...
- git clone加速
使用github的镜像网站进行访问,github.com.cnpmjs.org,我们将原本的网站中的github.com 进行替换.
- 【Pandas】concat方法使用注意点
使用pandas库的concat做数据拼接需要注意,应该先对原始数据设置列名,如果没有设置列名,在拼接时只会保留第一个文件的第一行(以列名形式),由于剩下的文件在读取时会自动将第一行作为列名,这样就会 ...
- nodejs队列
nodejs队列 创建具有指定并发性的队列对象.添加到队列的任务以并行方式处理(直到并发性限制).如果所有的worker都在进行中,任务就会排队,直到有一个worker可用.worker完成任务后,将 ...
- 免费、快速、可靠:揭秘IsGPT如何精准检测AI内容
随着GPT等技术的迅猛发展,不少人开始担心信息真实性和学术诚信.今天,分享一款由MIT CSAIL孵化的AI内容检测工具,看看它如何帮你快狠准地识别AI生成的文本 isgpt.org 市面上虽有不少A ...
- DAY3--launch文件编写
1.launch启动文件简介 到目前为止,每当我们需要运行一个ROS节点或工具时,都需要打开一个新的终端运行一个命令.当系统中的节点数量不断增加时,"每个节点一个终端"的模式会变得 ...
- Mapper.xml配置的几种方法:
一. 7.4.1. <mapper resource=" " /> 使用相对于类路径的资源(现在的使用方式,UserMapper接口与UserMapper.xml的包路 ...