准备工作
- https://issues.sonatype.org 注册,可关联github账号
- PGP签名工具,可参考http://central.sonatype.org/pages/working-with-pgp-signatures.html
SonaType创建项目
ps: SonaType的操作真是让人一个头两个大,真心搞不懂操作面板里的每项都代表啥东西。
- 注册登录后选择创建工程”Create”
- 填写工程信息
这里有一点要注意Group Id对应你通过gradle引用的GroupId,一般是域名颠倒的格式。当你设置个人域名时,创建成功后管理员会提醒你是否拥有该域名,可参考http://central.sonatype.org/pages/choosing-your-coordinates.html关联域名,推荐使用github或者其他公共域名作为GroupId。
- 创建成功后可以在”My Open Issues”下找到所创建的工程(叫issues还真有点不习惯)
通过Gradle上传aar
- mavenCenter的上传配置网上有一堆,可参考https://gist.github.com/xdyuchen/9ac4286761e488a871f5524d708082c2,拷贝gradle-mvn-push.gradle文件到项目中,并在build.gradle中引用
apply from: rootProject.file('./gradle-mvn-push.gradle')
签名
有关PGP签名工具的使用可参考http://central.sonatype.org/pages/working-with-pgp-signatures.html
通过Gradle签名插件需要在gradle.properties配置签名信息:signing.keyId= signing.password= signing.secretKeyRingFile=
上传 gradle uploadArchieves
上传成功后可以在https://oss.sonatype.org/执行发布
3.1 登录账号,账号与第一步注册的账号相同,选择”Staging Repositories”
3.2 找到自己刚刚上传的项目,选择”Close”
3.3 Close之后系统会对上传的文件校验,包括加密、签名及其他规则的验证
3.4 验证通过后选择”Release”发布
3.5 上传成功
补充几点
- 签名校验如果没有上传公钥,会校验失败
签名的配置和上传可查看http://central.sonatype.org/pages/working-with-pgp-signatures.html 如果发现自己的aar正式发布成功,在https://oss.sonatype.org中可以搜索到,但是在gradle中却无法引用”not found”,对这种情况,官方管理员的回复是:
“Central sync is activated for Xxxx. After you successfully release,
your component will be published to Central,typically within 10
minutes, though updates to search.maven.org can take up to two hours.”so 等一等。
- mavenCentral与JCenter
网上各路说法都是mavenCentral的上的lib上传比较麻烦,JCenter相对友好,而且JCenter支持将上传内容同步到mavenCentral上。
但我尝试使用了一次JCenter没有找到北,所以使用mavenCentral ,有时间再试试JCenter。