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

一、注册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);

在这里插入图片描述效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值