前两天幽蓝君在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仓库的更多相关文章

  1. 详解jQuery uploadify文件上传插件的使用方法

    uploadify这个插件是基于js里面的jquery库写的.结合了ajax和flash,实现了这个多线程上传的功能. 现在最新版为3.2.1. 在线实例 实例中用到的php文件UploaderDem ...

  2. iOS开发--CornerStone上传静态库(.a文件)

    首先打开软件左上角 CornerStone-Preferences-SubVersion 第一个地方把对号去掉,第二个地方把.a那个删除,然后save. 然后把你的.a文件放到本地的相应文件夹下, 但 ...

  3. bt协议详解 基础篇(上)

    bt协议详解 基础篇(上) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 ...

  4. 超全详解Java开发环境搭建

    摘自:https://www.cnblogs.com/wangjiming/p/11278577.html 超全详解Java开发环境搭建   在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必 ...

  5. bt协议详解 DHT篇(上)

    bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...

  6. 详解LUA开发工具及其环境配置

    LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...

  7. [转]javascript console 函数详解 js开发调试的利器

    javascript console 函数详解 js开发调试的利器   分步阅读 Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该 ...

  8. 详解WebService开发中四个常见问题(2)

    详解WebService开发中四个常见问题(2)   WebService开发中经常会碰到诸如WebService与方法重载.循环引用.数据被穿该等等问题.本文会给大家一些很好的解决方法. AD:WO ...

  9. 详解iOS开发之自定义View

    iOS开发之自定义View是本文要将介绍的内容,iOS SDK中的View是UIView,我们可以很方便的自定义一个View.创建一个 Window-based Application程序,在其中添加 ...

  10. 使用pycharm开发代码上传到GitLab和GitHub

    使用pycharm开发代码上传到GitLab和GitHub 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我这里主要是针对局域网的自减的GitLab服务器,python开发工程师如 ...

随机推荐

  1. VScode美化

    RESULT:EVA-初号机 配色 主题效果 1. 需要的东西 vs code background 插件 custom CSS and JS loader 插件 一些png素材,推荐网址: http ...

  2. Git Pull Failed:You have not concluded your merge.Exiting because of unfinished merge

    前言 在拉取远程代码时,出现 Git Pull Failed:You have not concluded your merge.Exiting because of unfinished merge ...

  3. go declared and not used

    Go语言在代码规范中定义未使用的变量会报"declared and not used"错误 package main import "fmt" func mai ...

  4. 小程序和APP抓包的问题

    小程序和APP抓包的问题 很多同学都会遇到小程序和APP抓不到包的问题,抓不到https请求包,这边给大家提供一些解决方案. Yakit工具 首先需要的就是一个抓包神器yakit,这个工具非常好用强大 ...

  5. 编写你的第一个 Django 应用程序,第8部分

    本教程从教程 7 停止的地方开始.我们已经构建了我们的网络投票应用程序,现在将查看第三方软件包. Django 的优势之一是丰富的第三方软件包生态系统.它们是社区开发的包,可用于快速改进应用程序的功能 ...

  6. Java 8的新特性还不了解?快进来!

    能坚持别人不能坚持的,才能拥有你想拥有的.关注 编程大道,让我们一起成长

  7. 继承中构造方法访问特点--java 进阶day01

    1.子类不可以继承父类的构造方法 构造方法的名称必须与类名一致,上图中类名是Zi,而构造方法名是Fu,肯定不行 2.子类在初始化之前,需要对父类初始化 子类在初始化的过程中,很有可能会调用到父类的数据 ...

  8. AI 应用思考

    之前看到过一个理论,创新技术的三个阶段:新技术创造-精英服务-平民化 技术扩散的三阶段理论模型 1. 创新垄断期(精英创造阶段)技术革命初期,创新活动高度依赖知识密集型投入.AI发展呈现"分 ...

  9. fdMemtable FDQuery json之间的一些关系

    1 procedure TForm1.btn1Click(Sender: TObject); 2 var ss,ss1: TStringStream; 3 begin 4 ss := TStringS ...

  10. [SDR] 蓝牙专项教程 —— 从 0 到 1 教小白基于 SDR 编写蓝牙协议栈

    目录 前言 一.开题之作 二.动态发送 BLE 广播包 三.基于 PlutoSDR 实现 BLE 广播包的收发一体能力 四.基于 PlutoSDR 的 BLE 广播包的收发实现接入涂鸦智能 APP 教 ...