您的位置:首页 > 移动开发 > Android开发

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

2017-09-03 01:12 281 查看
第一步:注册帐号 
注册帐号地址: 
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名
fd4f
字一样的仓库,一会好提交用,呵呵,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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: