-
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 即可