> 文档中心 > 发布鸿蒙Harmony app 开源库Lib 到maven中央仓库

发布鸿蒙Harmony app 开源库Lib 到maven中央仓库

一、注册maven
注册地址
网速可能慢,多次刷新重试下
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
二、新建工单
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
Group Id:项目group,com.github.cmmboy、io.gitee.cmmboy。
Project URL:项目的github或gitee地址 如:https://gitee.com/cmmboy/MyApplication
SCM url:项目的git地址 如:https://gitee.com/cmmboy/MyApplication.git
注意:建议先上传开源项目到gitee
三、根据编号创建仓库
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库如 我的编号是OSSRH-80339
登录gitee 创建一个仓库的名称为OSSRH-80339 并改为公开

此时查看注释回复信息
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库yes,i done. The account of gitee is mine

稍等管理员审核后刷新。

发布鸿蒙Harmony app 开源库Lib 到maven中央仓库出现已解决和已修复代表审核通过!

四、安装gpg
Windows 下载地址
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库

直接下一步下一步安装。安装完成后创建秘钥 。
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
新建好后,会出现一连串数字和字母的组合,若中间有空格,去除空格,保存【后面会用到】。鼠标右击选择 【在服务器上发布】
注意:输入passphrase私钥保护密码(这个一定要记住),后面会用到
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
测试是否成功,输入刚才保存的秘钥码查询,有信息代表成功。
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
打开cmd输入: gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 22533*ECAB5AB7 【你保存的那一串数字】
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
查看秘钥信息:gpg --list-keys
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
导出:gpg格式的秘钥 gpg --export-secret-keys -o secring.gpg
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
导出的文件在 C:\Users\Admin下。建议保存到特定位置,后面要用到。
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
五、DevEco Studio 3.0.0.800 鸿蒙项目配置
1.新建一个项目
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
2.项目建好后,新建一个Harmony lib
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
2.在lib中新建一个测试类,这里已Toast为列
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库

public class ToastUtils {    static ToastDialog toastDialog;    public static void showToast(Context context) { if (toastDialog == null) {     toastDialog = new ToastDialog(context).setText("我来自开源库1.0.4"); } toastDialog.show();    }}

3.配置项目的 gradle.properties
在gradle.properties添加以下代码

signing.keyId=E***6 //你保存的那一串字符串的后六位signing.password=**** //你注册密码时保存的密码signing.secretKeyRingFile=E:/test/secring.gpg //gpg保存的路径

这里也可以查看 signing.keyId
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库4.gradle配置
在项目根目录创建一个upload.gradle的文件。
模板如下

apply plugin: 'maven-publish'apply plugin: 'signing'def DEFAULT_POM_NAME = 'MyToast'def DEFAULT_POM_VERSION = '1.0.4'  //har包版本信息def DEFAULT_POM_ARTIFACT_ID = "MyToast"  //har包IDdef DEFAULT_POM_GROUP_ID = 'io.gitee.cmmboy'  //项目组IDdef DEFAULT_POM_PACKAGING = 'har'  //包类型,固定为hardef DEFAULT_POM_DESCRIPTION = 'base on harmonyos'def MAVEN_USERNAME = 'c*y'   //远程Maven仓的用户名def MAVEN_PASSWORD = 'T**q@**5'  //远程Maven仓的密码def LOCAL_MAVEN_REPOSITORY_URL = 'D:/maven_repository'   //本地Maven仓地址def REMOTE_MAVEN_REPOSITORY_URL = 'https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/'//远程Maven仓地址def ProjectUrl="https://gitee.com/cmmboy/MyApplication"//项目地址afterEvaluate { project ->    DEFAULT_POM_ARTIFACT_ID = project.name    publishing { publications {     maven(MavenPublication) {  from components.debug  group = DEFAULT_POM_GROUP_ID  artifactId = DEFAULT_POM_ARTIFACT_ID  version = DEFAULT_POM_VERSION  pom {      name = DEFAULT_POM_NAME      description = DEFAULT_POM_DESCRIPTION      packaging = DEFAULT_POM_PACKAGING      url =ProjectUrl      licenses {   license {name = "The Apache License, Version 2.0"url = "http://www.apache.org/licenses/LICENSE-2.0.txt"   }      }      developers {   developer {//开发者信息id = "iogiteecmmboy"name = "cmmboy"email = "8*39@qq.com"organization ="gitee"organizationUrl="https://gitee.com/cmmboy"   }      }      scm {   connection = "scm:git:"+ProjectUrl   developerConnection = "scm:git:"+ProjectUrl   url = ProjectUrl      }  }     } } repositories {     maven {//  url = LOCAL_MAVEN_REPOSITORY_URL  //发布到本地Maven仓  //发布到远程Maven仓的地址以及Maven仓的帐号和密码  url = REMOTE_MAVEN_REPOSITORY_URL  credentials {      username MAVEN_USERNAME      password MAVEN_PASSWORD  }     } }    }    signing { sign publishing.publications.maven    }}

5.上传到远程仓库
在lib 库的 build.gradle中添加
apply from: ‘…/upload.gradle’
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
注意 添加apply from: '…/upload.gradle’后才会出现pubulishing
然后在gradle相应的lib的pubulishing中点击publish上传。
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
等待publishing成功。
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库

六、释放临时库
进入maven仓库 https://s01.oss.sonatype.org/ ,然后登录你的账号。

发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
查看是否编译成功,点击close
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库

发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
过一会刷新,Release按钮变亮后 点击Release。之后再次刷新。过一段时间就能依赖你的项目了。
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
通过搜索,找到你的开源库了
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
这里开源库已经上传完成。

七、测试lib库
项目中引用开源lib库
1.项目根目录的build.gradle加入

maven {     url 'https://s01.oss.sonatype.org/content/repositories/releases/' }

发布鸿蒙Harmony app 开源库Lib 到maven中央仓库
2.项目build.gradle加入
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库测试第三方库引用代码

 ToastUtils.showToast(this);

发布鸿蒙Harmony app 开源库Lib 到maven中央仓库效果
发布鸿蒙Harmony app 开源库Lib 到maven中央仓库