详解鸿蒙开发如何上传三方库到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开发工程师如 ...
随机推荐
- 在IIS Express下部署NuGet私服
用途 个人开发,部署自己的NuGet pkg. 环境 Win11 IIS Express (轻度使用,不安装IIS,而使用VS预装的IIS Express) VS2022 步骤 开发环境准备 因我拟用 ...
- netstat 与 ss 比较
一.netstat 命令 1. 核心功能 显示网络连接.路由表.接口统计等信息. 支持TCP.UDP.UNIX域套接字等协议. 可查看进程与端口的关联. 2. 常用语法示例 查看所有活动连接 nets ...
- 【C语言】Linux 飞翔的小鸟
[C语言]Linux 飞翔的小鸟 零.环境部署 安装Ncurses库 sudo apt-get install libncurses5-dev 壹.编写代码 代码如下: bird.c #include ...
- unigui显示uniTreeVview使用TUniTreeNode内存泄漏的问题【14】
uniTreeVviewc创建一个tree,显示患者姓名(PatientName).因为需要用到患者ID(PatientID),所以使用help: TPatientTreeNode = class(T ...
- 探秘Transformer系列之(24)--- KV Cache优化
探秘Transformer系列之(24)--- KV Cache优化 目录 探秘Transformer系列之(24)--- KV Cache优化 0x00 前言 0x01 背景知识 1.1 度量指标 ...
- 康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键!
为确保AD/ADAS系统的安全性,各大车企通常需要收集.处理和分析来自于摄像头.激光雷达等传感器的数据,以找出提高系统安全性和性能的方法.然而在数据收集过程中,不可避免地会出现大量无价值数据,造成数据 ...
- DP刷题总结-2
同步于Luogu blog T1 AT_joisc2007_buildi ビルの飾り付け (Building) 简化题意 最长上升子序列模板 分析 \(O(n^2)\)做法 考虑DP 定义状态:\(d ...
- CF1774C题解
题目传送门 假设最后一场的环境为 111,即温度大的人赢,那么温度为 111 的人即使活到了最后一场也必输. 同理,如果最后 kkk 场的环境都为 111,那么有 k(1∼k)k(1\sim k)k( ...
- Git Reset 彻底解析:--hard 模式操作步骤、风险与完整恢复指北
结论先行 使用 git reset --hard <commit_id> 可强制将本地代码.暂存区.工作目录彻底回退到指定提交状态,但会丢弃目标提交之后的所有提交记录(需谨慎操作,尤其涉及 ...
- 29.1K star!免费接入GPT-4/DeepSeek等顶级大模型,这个开源API神器绝了!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 还在为天价API费用发愁?这个开源项目让你免费畅用GPT-4.DeepSeek.Claude ...