关于发布自己的Android库到JCenter的踩坑指导
最近公司新接了很多项目,时间紧任务重,来形容一点不为过。发现好多代码都需要自己一个个码上去,非常浪费时间。就萌生了复用自己的库的想法,这样不仅利于自己知识的积累,也有助于后面快速高效开发项目。
第一步:注册谷歌邮箱,地址传送门,此处需要注意的地方如下图

第一个手机号国家选择中国,第二个位置则根据你的翻墙软件的节点国家选择,比如你的节点是加拿大的,这里就选择加拿大。不然后面再用手机验证登陆,会提示有问题
第二步:注册bintray账号,此账号就是我们用来管理maven或者jcenter的控制台,注册地址为:https://bintray.com/signup/oss
此处有坑,如果我们自己去找官网,那么首页的绿色按钮进入的地址是https://bintray.com/signup,其实不是我们个人的申请入口,是组织的申请入口,如下


而我们用户需要去注册的地址https://bintray.com/signup/oss,这里界面如下

通过对比可看出,两者是有区别的,走错入口,在后面代码库上传中,就会有问题。
注册完成后,需要谷歌邮箱激活(因为此处注册的邮箱为谷歌邮箱,qq及国内的邮箱好像不能注册进入谷歌邮箱),点击激活链接就可以了。
第三步:新建Android的library工程,只有library工程才能上传成功。
建好之后,配置项目的build.gradle文件和module的build.gradle文件。项目的build.gradle文件配置如下,添加蓝色部分

module的build.gradle文件配置如下,同样添加蓝色部分,其中publish部分,只有userOrg需要严格按照注册的bintray的用户名,其他的都是自己随意指定

到此,配置的部分基本完成,剩下就是在命令行或者AS里运行gradlew命令来上传库工程了,命令如下
gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=API-Key -PdryRun=false
其中,用户名就是bintray注册的用户名,API-Key在如下图示获取



如果提示gradlew不是有效的命令,则需要配置环境变量。
之后,就是等待执行结束,成功后AS控制台如下提示
BUILD SUCCESSFUL in ...
第四步:刷新bintray页面,就会发现在maven页面多了你的库了,此处表示已经上传到maven仓库了。


第五步:如何使用maven仓库的库
点击进入自己的一个package,如下

实战配置如下,我在其他工程处需要引用时,如果时maven方式,则如下
项目的根build.gradle

具体的module工程,需要添加compile,就是上图中的选择的Gradle方式,复制过来直接配置build.gradle就可以

重新同步下工程,就可以用你自己的库了。此处,大功告成!