将module上传到Jcenter并使用
导言
简单说就一句话
要直接通过
compile 'com.github.fanjinhao:pull-refresh-layout:1.0.0'
这种方式来方便使用一些类库
as操作
首先到整个项目的gradle文件下:
image.png然后添加以下配置
image.png其中
(1)
classpath 'com.novoda:bintray-release:0.4.0'
为一个方便上传到bintray的插件
(2)
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
}
通过当前方式来避免乱码等问题
接着到要上传的module的gradle中
image.png
接着配置一些选项
image.pngimage.png
注意几个红框部分:
(1)
apply plugin: 'com.novoda.bintray-release'
使用当前插件来上传到bintray
(2)
lintOptions {
abortOnError false
}
防止编译的时候lint检查报错
(3)
publish {
userOrg = '1736880019'//bintray.com用户名
groupId = 'com.github.fanjinhao'//jcenter上的路径
artifactId = 'pull-refresh-layout'//项目名称
publishVersion = '1.0.0'//版本号
desc = 'Oh hi, this is a nice description for a project, right?'//描述,不重要
website = 'https://github.com/dda135/PullRefreshLayout'//网站,不重要;尽量模拟github上的地址,例如我这样的;当然你有地址最好了
repoName = 'android'//bintray中创建的repo名称
}
这里就是配置上传到jcenter之后的细节,上面注释写的很清楚了
其中注意
compile 'com.github.fanjinhao:pull-refresh-layout:1.0.0'
实际上就是对应
compile 'groupId:artifactId:publishVersion'
最后就是通过命令上传到bintray
image.png首先到terminal下面,然后输入对应命令
gradlew clean build bintrayUpload -PbintrayUser=[你在bintray中注册的账号] -PbintrayKey=[你在bintray中注册的账号所分配的APIKEY] -PdryRun=false
之后只要等待build successfully就表示上传成功
bintray操作
上面提到了bintray的账号等信息,这里来看一下具体的操作
然后进行注册
image.png实际上有两种模式,选择open source account模式
然后按照注册流程注册即可,其中注意邮箱不支持qq.com,如果要使用qq邮箱,那么可以在qq邮箱里面
image.png image.png image.png简单说就是使用foxmail的帐号就好了
注册完成之后登陆
接着创建一个仓库
image.png然后在创建页面选择Type为maven,Licenses为apache2.0协议,其他自己输入即可
image.png创建完成之后就会有一个仓库
回到as中的配置
publish {
userOrg = '1736880019'//bintray.com用户名
groupId = 'com.github.fanjinhao'//jcenter上的路径
artifactId = 'pull-refresh-layout'//项目名称
publishVersion = '1.0.0'//版本号
desc = 'Oh hi, this is a nice description for a project, right?'//描述,不重要
website = 'https://github.com/dda135/PullRefreshLayout'//网站,不重要;尽量模拟github上的地址,例如我这样的;当然你有地址最好了
repoName = 'android'//bintray中创建的repo名称
}
其中repoName对应的就是你创建的仓库的名称
接着就可以按照上面说的as操作流程来进行上传,等上传成功之后
image.png点击对应的仓库名字,进入仓库主页
image.png可以看到之前上传成功的module就是这样的一张卡片,点击卡片
此时虽然代码已经上到bintray,但是还无法直接访问,此时进行最后一步
image.png点击add to jcenter,然后填写信息去审核,等待审核完成之后既可以使用
上面提到了APIKEY,看一下它的位置:
点击右上角帐号信息里面的Edit Profile
image.png接着就可以看到左边有API Key
image.png点进去复制出来就好了
升级
一般的类库都会有几次的升级
比方说1.0.0->1.0.1->1.0.2之类的
(1)如果1.0.0中add to jcenter审核通过了,那么后续不需要再次审核
(2)升级的时候修改module的gradle的publishVersion,然后直接上传就好
(3)如果要修改groupId或者artifactId,建议重新上传一个package,而不是直接混用之前的package,我试过没有效果,虽然代码可以上传到bintray
结语
总的来说,学会这个就是为了更好的方便使用类库
审核的时候因为存在时差,所以有时候没有那么快,这个也是可以理解的