您当前的位置: 首页 >  cmmboy1990 ar

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

cmmboy1990 发布时间:2022-04-28 14:57:08 ,浏览量:3

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

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

关注
打赏
1688896170
查看更多评论

cmmboy1990

暂无认证

  • 3浏览

    0关注

    131博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0805s