Android 开源库发布到MavenCentral,jitpack (gradle-maven-publish-plugin+io

  • Repository Hosting (OSSRH)

  • Issue Type: 选择 New Project

  • Summary: 可填写jar 包名称

  • Description: 描述信息

  • Group Id: Group Id的命名规则为一个域名的反向名称,,可以采用io.github.[username]的方式,比如我上面填写的io.github.xiaozeiqwe8。

  • 这边可填写的内容会有2种选择,一种是使用自己的域名,另一种就像我上面填写的那样,使用github仓库地址,这里推荐使用自己的github仓库地址作为Group Id,因为这个会影响到后面工作人员要求验证的方式的不同,验证起来会方便些。

  • 另外,如果使用的是github地址,需要注意的是需要使用io.github而不是com.github,如果你是用com,工作人员会要求你修改,并会附上这个文档让你查看原因https://central.sonatype.org/changelog/#2021-04-01-comgithub-is-not-supported-anymore-as-a-valid-coordinate

  • Project URL: 项目地址,可以是github仓库地址,也可以是官网地址

  • SCM URL: 项目的 Git 地址

填写完成这些信息后,就可以create了,create完成后,你的单子会自动assign给工作人员图片

/ 开通仓库 /工作人员会根据你填写的GroupId的方式,来要求你配合完成一些验证,会在comments里面回复你,在这边,我只说明github的验证方式,域名方式则可自行百度查看验证方式。图片

然后要求我们在自己的github账号里创建一个public的名称为你这个Ticket的repository,很简单,直接创建一个,注意 Repository名称以及权限是public即可图片

图片

这样就完成了,然后我们就可以立马去刚刚的Ticket的comments里面告诉工作人员,我们已经完成了这一步图片

接下来的步骤,我们就是等待了,等待工作人员回复完成即可进行下一步了,我在这一步等待的时间很快,应该不到半小时,至于为什么要等待,可以查看官网的解释https://central.sonatype.org/faq/a-human/图片

等待到结果会像这样,这时候,我们也不忘谢谢工作人员。到这一步,我们的Maven仓库就已经可以使用了,使用这个地址进行登录https://s01.oss.sonatype.org,用户名密码就是你上面注册的工单系统的账密,接下来我们就可以准备我们需要上传的库了。

创建密钥


到这里就可以从郭神的这里开始看了

因为郭神使用的这个框架更简单的:

https://github.com/vanniktech/gradle-maven-publish-plugin

在这里插入图片描述

之后基本都可以发布成功。

那么之后如果你的库写了新的版本怎么更新呢?这里补充一下

如果更新或者上传的过程中出现了一些问题呢?这里补充一下

更新的话,就修改下gradle.properties中的VERSION_NAME版本号后重新publish,close,release即可。

问题汇总

回顾打包流程:(Android Studio左下角选择Gradle -> 切换到对应module的Tasks->pushlishing->publish)

1.打包上传没有Tasks选项的情况

Android Studio 4.2+ task默认是关闭的。Settings - Experimental - 取消勾选 “Do not build Gradle task list during Gradle sync” - 然后重新sync一次,你就能看到Tasks了。

**2.当你在Android Studio中打包aar并上传的时候,可能出现这个错误:

Direct local .aar file dependencies are not supported when building an AAR**.

那么此时如果你的第三方包里面的aar不重要可以删除,那么你可以把它们都删除以后再打包

那么或者也可以把aar的后缀改为zip,然后解压,提取里面的jar包和so文件也可以(前提是里面的res你都不需要)。

**3.如果你的工程里面有aar并且打包没报错,那么可能会出现无法依赖的问题,比如:

Missing required attribute: dependency groupId POM**,可以看这里

在这里插入图片描述

**4.本地打包上传没问题了,也上传到https://s01.oss.sonatype.org/#stagingRepositories 这里了

此时你需要close并且release,问题来了,你close失败了**,为什么会失败呢?原因可以在这里查看:

在这里插入图片描述

我遇到的错误呢就是这个了:Upload your public key and try the operation again.

让我上传公钥,我第一次上传的时候也没说这茬啊,算了,不记得了,先看看怎么解决吧。

然后就搜到这个,上传以后解决了:

GPG 使用 Maven 签名后发送到中央仓库提示 Upload your public key and try the operation

进入https://keys.openpgp.org输入邮箱查询果然没有,在这里插入图片描述

导出之后,再次上传,再次通过邮箱查询,有了结果,此时再回到https://s01.oss.sonatype.org/#stagingRepositories执行close,果然成功了。

好了,在这里记录一下遇到的各种问题,希望能帮到大家。

附加jitpack的上传

jitpack相对maven来说要简单很多

1.最外层的build.gradle添加插件

classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'



2.需要打包的module的build.gradle添加插件

apply plugin:'com.github.dcendents.android-maven'

group='com.github.xx'



3.github上面找到自己的项目

选择Releases -> new Releases并发布

4.进入jitpack拷贝自己的项目地址

Look up -> get in 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值