2019年1月5日,天气阴有小雨,没有买到车票,沉默....
最近公司由于项目上有一个带有indicator需求的功能,如下图所示:
本想去网上拿来直接用,后面心中一想,貌似该功能好像挺简单,不如自己写写看,事实证明我的猜想确实没错,因为要求的比较简单。做完之后,想到,要不放到github上去吧,以后用的时候可以直接copy代码就好啦,上传之后,又发现,哎?不对,好像别人的都可以通过依赖直接使用,为啥我的不可以。。所以才有了下面这篇文章!:)。
Jcenter被AndroidStudio默认支持,下面这张图是我们每次新建一个工程,然后系统给我们加上去的。
我们如果是第一次发布项目的话,需要去Jcenter仓库首页创建一个账号。注册的时候点击下图标识的那个地方
没毛病老铁~这么多箭头标识可别点错了呦~~~~
注册成功后,进入主界面,我们需要点击添加新的仓库,let's do it!
勾选public类型,然后Name表示的是你的仓库名称,注意该名字一经创建无法修改。Type的话我们选中Maven,Licenses一般选择的是Apache-2.0,描述可写可不写。然后点击创建,回到首页会发现多了你刚刚创建的仓库:
我们点击刚刚创建的仓库进去会发现啥都没有,这个时候需要创建包,也就是后面你的程序名称
点击Add a package后,出现下面界面,Name就是你后面需要展示出来的名称,比方说:butterknife,其它那些Website,Issues tracker,Version control之类的,因为我的项目有放到github,所以那些链接我填的全是github项目里的链接。
点击Sava后,不出意外你的包就创建好了,这个时候,你再返回到主页,从仓库进去就会发现有你创建的包名了,到这步为止,我们只是创建了包,但是里面啥也没有,所以我们接下来需要上传代码到该包下面。这里我使用的bintray-release插件+gradle命令行的形式。
1,首先需要在工程的build.gradle下面添加 classpath'com.novoda:bintray-release:0.8.0'
噢,为了防止等会上传代码的时候,出现检查javadoc导致出错的话,顺便在该gradle添加避免检查javadoc
2.然后我们回到那个我们 “需要” 上传的library的build.gradle里面(我们给别人提供的是一个库,所以上传的是library)添加
applyplugin:'com.novoda.bintray-release'
然后还需要在该gradle里面添加一个publish方法,如下:
上面的文字已经介绍的很详细啦,不多说什么,就提两个问题:第一,userOrg是你bintray网站显示出来的那个用户名,artifactId是你刚刚创建的那个包名。
好了,现在一切准备就绪,我们就需要把我的代码上传到包下面去啦~~~~开心 :)
命令行:gradlew build bintrayUpload -PbintrayUser=********* -PbintrayKey=*************** -PdryRun=false
解释一下上面参数意义:PbintrayUser是上面的userOrg, PbintrayKey在你个人主页可以找的到,如下图:
点击edit profile会进入到该界面,然后选择API Key,接着要输入一个你自己注册时的密码,然后考到就会看到该界面,点击右边,复制它,放入命令行,回车!等待上传,出现build successful之后,进入到jecenter查看,会有你刚刚设置的版本号,这里提一句:后面升级的时候,你只要在改动你的版本号,然后再次提交代码到jecenter就好了。
当我们第一次提交成功后,其实我们还不能直接通过在gradle里面添加依赖的方式来使用,因为这个时候,其实是还没有真正放到jecenter供下载使用的。当我们上传成功后,需要点击刚刚提交的版本
进去你会发现旁边有一个Add Jecenter按钮,点击它,然后出现一个发送邮件界面,内容可填可不填,发送后,出现405之类的不用管,等待通过后,会有提示小红点
通过后进来,我们就可以使用gradle依赖的方式啦~~
以上纯粹靠记忆打了一遍,如有疏漏,应该是不太可能~~~,有不对的地方欢迎指正~~~~~ :)。。。