一、注册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
三、根据编号创建仓库
如 我的编号是OSSRH-80339
登录gitee 创建一个仓库的名称为OSSRH-80339 并改为公开
此时查看注释回复信息
yes,i done. The account of gitee is mine
稍等管理员审核后刷新。
出现已解决和已修复代表审核通过!
四、安装gpg
Windows 下载地址
直接下一步下一步安装。安装完成后创建秘钥 。
新建好后,会出现一连串数字和字母的组合,若中间有空格,去除空格,保存【后面会用到】。鼠标右击选择 【在服务器上发布】
注意:输入passphrase私钥保护密码(这个一定要记住),后面会用到
测试是否成功,输入刚才保存的秘钥码查询,有信息代表成功。
打开cmd输入: gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 22533*******ECAB5AB7 【你保存的那一串数字】
查看秘钥信息:gpg --list-keys
导出:gpg格式的秘钥 gpg --export-secret-keys -o secring.gpg
导出的文件在 C:\Users\Admin下。建议保存到特定位置,后面要用到。
五、DevEco Studio 3.0.0.800 鸿蒙项目配置
1.新建一个项目
2.项目建好后,新建一个Harmony lib
2.在lib中新建一个测试类,这里已Toast为列
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
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包ID
def DEFAULT_POM_GROUP_ID = 'io.gitee.cmmboy' //项目组ID
def DEFAULT_POM_PACKAGING = 'har' //包类型,固定为har
def 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’
注意 添加apply from: '…/upload.gradle’后才会出现pubulishing
然后在gradle相应的lib的pubulishing中点击publish上传。
等待publishing成功。
六、释放临时库
进入maven仓库 https://s01.oss.sonatype.org/ ,然后登录你的账号。
查看是否编译成功,点击close
过一会刷新,Release按钮变亮后 点击Release。之后再次刷新。过一段时间就能依赖你的项目了。
通过搜索,找到你的开源库了
这里开源库已经上传完成。
七、测试lib库
项目中引用开源lib库
1.项目根目录的build.gradle加入
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
2.项目build.gradle加入
测试第三方库引用代码
ToastUtils.showToast(this);
效果