发布Android Lib 到 MavenCentral

新建 Sonatype 项目

注册账号:

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

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

创建问题

点击新建:
发布Android Lib 到 MavenCentral_第1张图片
发布Android Lib 到 MavenCentral_第2张图片
概要:自定义,写项目名称即可。
GroupId:如果是github上面的项目,不要使用com.github.*作为groupId,可以使用io.github.*

发布Android Lib 到 MavenCentral_第3张图片
Project URLSCM url 按照下面的建议填写即可;
创建完成后下面很快会有回应,具体你的表单有什么问题,下一步怎么操作都会列举出来。
发布Android Lib 到 MavenCentral_第4张图片
这里我的创建有两个问题

  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

发布Android Lib 到 MavenCentral_第5张图片
点击上方菜单进行发布

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

发布Android Lib 到 MavenCentral_第6张图片
重新sync项目即可

nexus 发布 release

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

发布Android Lib 到 MavenCentral_第7张图片
点击 Staging Repositories 菜单,点击 Release 进行发布即可

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

发布Android Lib 到 MavenCentral_第8张图片
然后可以集成到自己的项目中测试一下能不能正常下载。

你可能感兴趣的:(android,github)