如何让别人在gradle中直接compile你的开源库
以前一直以为在github上发布自己的项目,并让别人compile到很简单.知道前段时间,工作不是太忙就把自己写的东西放到github上,才发现并不是那么容易,网上一搜也是有一堆的文档,但是不是这里出错就是那里有问题,踩了不少坑,分享出来,希望对大家有帮助.
1.利用jitpack.io发布项目
这个方法是算是我遇到的最简单的方法了.
首先你的把自己的项目上传大github上(这个没有什么难度,就不多说了)
其次点github上的release,点击右上角的draft a new release ,然后填写下面信息,最后publish release.



打开https://jitpack.io/,将你的项目的github地址复制到输入框中,点击look up,就得到你项目的依赖地址,你可以把截图发到你的blog中或者github上的README里.


在这里要说明的是,为什么要在github发布一个release的版本呢?因为jitpack默认是获取release版本的,如果没有的话,就会是下面的这种情况了,很不好.


2.利用bintray-release插件发布项目到jcenter
bintray-release的github项目地址点这里,最新版本是0.4.0
在开始之前你得注册一个bintray帐号,点击右边的For an Open Source Account
Sign Up Here,需要注意的是,bintray上面的邮箱支持不是太全,好像是不支持带数字的邮箱吧.用163和qq的都不行.最后用的foxmail.注册成功后,登录进去,创建自己的一个仓库.

接下来在你的project的gradle和module的gradle里面设置



还需要注意的是,如果项目里有中文注释的,可能会出现编码GBK的不可映射字符,在项目的build.gradle添加

最后就是上传代码了,在android studio中,点击下方的Terminal,输入下面代码,执行上传.
gradlew clean build bintrayUpload -PbintrayUser=bintray用户名 PbintrayKey=xxxxxxxxxx -PdryRun=false
PbintrayKey是在bintray个人中心EditProfile 中查看的

最后Terminal上显示BUILD SUCCESSFUL ,说明上传成功.进入https://bintray.com/你的用户名/maven,可以看到自己的项目,点击进去,

此时我们还不能引用到自己的项目,需要点击右边的"Add to JCenter",发送邮件到jcenter,最后审核通过后,就可以用了.
如果下次你有新的版本需要更新,只需要修改publish里面的版本号,然后执行上传代码就可以了了.