发布AndroidLibrary到JCenter,一步一步,拒绝踩坑!

来源:互联网 发布:can数据帧格式 波形 编辑:程序博客网 时间:2024/05/20 13:13
第一步:注册帐号 
注册帐号地址: 

https://bintray.com/signup/oss(bintray有两种账号,一种是企业的,可以建立私库,但是无法分享到jcenter;一种是个人的,只可以建立公库,可以分享到jcenter。)

我们要创建个人的账号,切记不要用第三方登录,那样会给你创建一个企业级的。(唉,当时看了一个sb的帖子,说是建议GitHub登录,fuck,我现在都想干他,旁边那三个,不要点!)

 

第二步:创建仓库 

当我们注册了,成功登陆之后


这个仓库,必须叫maven


第三步:获取bintray帐号Key


点击,账号头像,点击edit profile,之后出现


点击API Key




-第四步:配置library项目

 前面的三步,已经创建好maven仓库,下面需要配置library项目(所有的配置都仅针对AndroidStudio)

1.新建一个项目,^_^ 我觉得都应该会,哈哈

2.在项目里新建一个library,Android library和java library都行。嗯。。。不是新手都会

3.重点来了,配置library的build.gradle


4.配置项目根目录的build.gradle


5.配置上传信息


不用先建对应的仓库,其他文章一般都会说,先建一个跟你library名字一样的仓库,一会好提交用,呵呵,low。直接上传,没有是可以建立仓库的,但是信息要填写完整,就好像你手动建立仓库时,如果没有填写website(我记得是这个),你是创建不了的。所以,在配置中,你没有填写website,是不会创建仓库的。他们那种先创建,后提交的,就不用配置了。

userOrg这块有坑,别写错了


6.使用命令行

build.gradle配置好之后要Sync Now,都懂,都懂对吧

之后就可以命令行提交了


windows下:

gradlew clean build bintrayUpload -PbintrayUser=voler*** (这里是网站头像旁边对应的帐号,有可能跟网址上面的不一样,一定要区分好)-PbintrayKey=6f5e4e1*********** (这个是上面让大家复制保存下来的key[这里为了安全,我将我key后几位替换成了**])-PdryRun=false(如果是false那么就会真实提交,如果是true不会去进行真实提交,但是会编译,可以去查看是否编译通过在提交)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

macos:

./gradlew clean build bintrayUpload -PbintrayUser=voler*** -PbintrayKey=6f5e4e1*********** -PdryRun=false
  • 1
  • 1

如果在编译的过程中发现错误中断了之后,我们在添加一个 -info命令去查看更多出错信息

window如下:


mac如下:


回车提交(他会先编译项目,然后在检查项目中是否有错误信息,只要有错误它就会中断提交)

当出现BUILD SUCCESSFUL时,证明成功。 
然后刷新一下网页,就能看见新提交的库了

7.添加到Jcenter

找到刚才上传成功的library






至此我们就成功的完成了一个library从创建到提交到审核到引用的所有阶段。


后记

注册帐号网址:https://bintray.com/signup/oss【只有在这里注册才有add jcenter按钮!!!】


创建账号后,创建的maven库,一定要叫maven,因为上传配置所使用的插件中的默认配置是maven,你要是叫别的名字,传不上去。


忽略lint检查,在提交编译的时候回去检查lint,如果没有配置忽略lint检查,它会报错,

lintOptions{        abortOnError false    }
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

将这段代码添加到gradle文件,大家都知道哈(应该都知道)


如果class里面有中文字体,他会报 编码GBK的不可映射字符

       task javadoc(type: Javadoc) {           options.encoding "UTF-8"           options.charSet 'UTF-8'       }
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

请配置到gradle文件中


不允许使用自关闭元素 ,删除javadoc注释里面所有的含有html标签


如果报 程序包xxx不存在,在javadoc中加入忽略错误配置

task javadoc(type: Javadoc) {      failOnError false  }
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3