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

图片

  • Project: 选择 Community Support - Open Source Project

  • 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输入邮箱查询果然没有,在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

推荐学习资料


  • 脑图
    360°全方位性能调优

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值