发布Android Lib 到 MavenCentral

新建 Sonatype 项目

注册账号:

https://issues.sonatype.org/secure/Signup!default.jspa

这里注册不需要什么验证码,很简单。

创建问题

点击新建:
在这里插入图片描述
在这里插入图片描述
概要:自定义,写项目名称即可。
GroupId:如果是github上面的项目,不要使用com.github.*作为groupId,可以使用io.github.*

在这里插入图片描述
Project URLSCM url 按照下面的建议填写即可;
创建完成后下面很快会有回应,具体你的表单有什么问题,下一步怎么操作都会列举出来。
在这里插入图片描述
这里我的创建有两个问题

  1. groupId 不符合规范
  2. 需要创建一个项目进行校验
    按照上面提供的链接 创建一个 https://github.com/myusernamehsw/OSSRH-92470
    项目即可。

上面的问题修改完成后,为了加快进度,可以用一句优美的英文评论下。当出现Congratulations! 那就算成功了。可以进行下一步了。

新建 GPG 密钥对

以Mac电脑位例

安装gpg
brew install gpg

可能经过很长时间才能完成,耐心等待

生成 GPG 密钥对
gpg --generate-key
查看 GPG 密钥对
gpg --list-keys
上传公钥
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 【密钥指纹】
导出密钥文件
# 导出公钥
gpg --export 【密钥指纹】 > my_pub.gpg
# 导出私钥
gpg --export-secret-keys 【密钥指纹】 > my_pri.gpg

配置发布脚本

我这里使用的是 vanniktech 插件,配置比较简单。

修改lib下面的build.gradle
import com.vanniktech.maven.publish.SonatypeHost

plugins {
    id 'com.android.library'
    id 'org.jetbrains.kotlin.android'
    // 添加 vanniktech
    id "com.vanniktech.maven.publish" version "0.25.2"
}

......

mavenPublishing {
    publishToMavenCentral(SonatypeHost.S01, /* automaticRelease */ true)
    signAllPublications()
}
gradle.properties
# 根据自己创建的工单,替换掉下面的内容
GROUP=io.github.myusernamehsw
POM_ARTIFACT_ID=ViewBindingKtx
VERSION_NAME=1.0.0

POM_NAME=ViewBindingKtx
POM_DESCRIPTION=Android ViewBindingKtx
POM_INCEPTION_YEAR=2023
POM_URL=https://github.com/MyUserNameHSW/ViewBindingKtx

POM_LICENSE_NAME=The Apache Software License, Version 2.0
POM_LICENSE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENSE_DIST=repo

POM_SCM_URL=https://github.com/MyUserNameHSW/ViewBindingKtx
POM_SCM_CONNECTION=scm:https://github.com/MyUserNameHSW/ViewBindingKtx.git
POM_SCM_DEV_CONNECTION=scm:https://github.com/MyUserNameHSW/ViewBindingKtx.git

POM_DEVELOPER_ID=MyUserNameHSW
POM_DEVELOPER_NAME=MyUserNameHSW
POM_DEVELOPER_URL=https://github.com/MyUserNameHSW

# 下面的自行补充

# 密钥ID的后8位
signing.keyId=
# 密钥密码
signing.password=
#
signing.secretKeyRingFile=[导出的私钥文件路径,如 /Users/pengxurui/xxx.gpg]

# Sonatype账号&密码
mavenCentralUsername=
mavenCentralPassword=

发布

publish

在这里插入图片描述
点击上方菜单进行发布

如果Tasks下面没有这么多菜单,而是出现 Task list not built
那就点击这个按钮 -> Experimental ->

在这里插入图片描述
重新sync项目即可

nexus 发布 release

进入 https://s01.oss.sonatype.org/
并且使用 Sonatype 账号登录。

在这里插入图片描述
点击 Staging Repositories 菜单,点击 Release 进行发布即可

然后在上面的搜索中搜索你的项目名称即可以看到了

在这里插入图片描述
然后可以集成到自己的项目中测试一下能不能正常下载。

参考

https://cloud.tencent.com/developer/article/2123827

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值