前言
轮子用多了,发现各种问题就想自己造轮子了,方便自己的同时还能让其他开发者使用。Android有两种存放library的服务器就是jCenter和Maven Central。jCenter是由bintray维护的Maven仓库,Maven Central是由sonatype维护的Maven仓库。在Android Studio开始的几个版本中,它将Maven central 作为默认仓库。新建项目之后build.gradle中会自动生成Maven central仓库的配置。 但是Maven Central最大的问题就是上传library非常困难,同时还会由安全方面的原因,所以后来Android Studio将默认仓库替换成jCenter。所以最近的几个版本中创建项目之后,build.gradle中会默认定义jCenter而不是Maven Central。
如何把Android studio中的Library发布到Jcenter,让android开发者在android studio上依赖你自己的library.下面我分享下如何把轮子分享出去,以我的一个开源库imagepicker为例介绍下如何将Android studio中Library发布Jcenter?
1:配置
将你要发布的moudle的build.gradle中添加代码,gradle的最后添加
PUBLISH_GROUP_ID = 'com.zzti.fengyongge'
PUBLISH_ARTIFACT_ID = 'imagepicker'
PUBLISH_VERSION = '1.0'
apply from: 'https://raw.githubusercontent.com/blundell/release-android- library/master/android-release-aar.gradle'
其中PUBLISH_GROUP_ID填写对应开发者的名称,PUBLISH_ARTIFACT_ID填写项目的名称,PUBLISH_VERSION填写项目的版本,但发布到Jcenter通过后,你的compile地址即是:
PUBLISH_GROUP_ID:PUBLISH_ARTIFACT_ID:PUBLISH_VERSION
比如说,我的这个项目的地址是:
compile 'com.zzti.fengyongge:imagepicker:1.0'
2:生成zip文件
打开terminal,填入这行代码,然后按Enter
gradlew clean build generateRelease
如果你是第一次生成zip文件,这是terminal会显示点点点,耐心等待,第一次就这样可能进度就是这样展示的。
3:获取zip文件
生成的zip文件在build文件里面
4:注册bintray账号并建立仓库
网址是https://bintray.com 如果你没有bintray账号,建议用github账号登录,到时也方便查看源码
5:创建仓库
登录成功后,创建仓库,记着Type选maven
6:创建package
只填写带星必填项就行
7:添加version
8:上传
上传你的file就是我们之前压缩的moudle的zip文件
我红箭头标注的地方一定要勾选上,不然最后点jcenter按钮添加到jcenter上会提示,说缺maven的工程配置文件,特别坑。
Please fix the following before submitting a JCenter inclusion request:- Add a POM file to the latest version of your package
上传成功后,会提示你pulish其他文件,你点publish就行。
9:等待审核
这时你在返回到forlife,将你刚才创建的package同步到jcenter,会提示你给jcenter发一个消息,可以不填,我填的thanks,发完后,静等他们审核,我是白天发布的,估计有时差,第二天凌晨5点给我回的邮件通过了,最后上一个成功的图。然后你和其他开发者都可以使用你的这个library。最后附一个我的这个开源库imagepicker-图片选择库,喜欢的可以stat
https://github.com/917386389/imagepickerdemo