因为公司项目拆分需要,将项目中的公用模块提出作为一个Library库使用。尝试过直接在项目中引用Library以及生产jar包使用,但是效果并不好。所以尝试将此类代码上传到jcenter,使用compile引入使用。从早上上班开始到下午3点半,踩了无数坑,终于上传到maven,并点击了Add to JCenter,希望明早上班就能用到。
踩坑踩得自己双膝红肿,脑袋爆炸(其实就是因为自己是菜鸡),所以记录下过程,勉励下自己!(还不是怕自己菜鸡,下次又摔同样的坑里!)
OK,进入正题..........................
一、常规上传技术陈列。
1) bintray-release
2) gradle-bintray-plugin
二、在bintray上注册账号。
注册过程不难,但是有两个坑。
1、QQ邮箱不能用!不能用!不能用!Bintray是大佬就是为所欲为(手动笑脸)
2、注册有两种,注册错了就会导致上传最后出现很坑的错误。如下图,注册要点右边圈出来那个,左边的申请下来后,上传不了。这个坑得我想怀疑人生!
三、登录Bintray获取key并创建仓库Repositories
四、代码中引入 bintray-release
1)在项目目录下的build.gradle中,引入
classpath 'com.novoda:bintray-release:0.3.4'
2)在module目录中的build.gradle中根目录下引入
apply plugin: 'com.novoda.bintray-release'
3)编译通过后,准备上传
五、使用命令行进行上传
六、在bintray网站上查询已上传项目,并添加到jcenter中
添加到jcenter后,需要一定的时间进行审核,审核通过后即可使用,并且add to jcenter按钮会消失。
七、埋坑之旅
上传过程中遇到了不少坑,有几个印象比较深的列举下。
1、GBK编码问题。代码中,如果注释使用的是中文,则会出现编码错误。需修改字符编码
在项目目录的build.gradle文件中添加
2、Execution failed for task ':app:lint'
在module目录中build.gradle,android{}中添加abortOnError false
3、Execution failed for task ':app:bintrayUpload' message:This resource requires authentication
这错误不应该有的,用户名或者key写错了
4、Execution failed for task ':app:bintrayUpload' message:Repo 'maven' was not found
这个问题,就是第二点中提到过,注册方式错误引起的,需要通过Sign Up to an Open Source account进行注册才可行。
八、各路高手对于上传jcenter的文章记录
感谢各位大佬的文章,我总算填坑完成并成功上传。
鸿洋大神博客:blog.csdn.net/lmj623565791/article/details/51148825
一位大神对于gradle-bintray-plugin插件的博客:www.cnblogs.com/qianxudetianxia/p/4322331.html