使用bintray_release插件轻松上传库到Jcenter

bintray上传使用的插件很多,我看到的有android-maven-plugin,gradle-bintray-plugin等等,但是都没有novoda/bintray-release来的简单,下面介绍一下这个插件的使用,其开源库在这里:https://github.com/novoda/bintray-release,参照它的wiki,我在其基础上有一些小小的简化。

一、 准备工作:注册Bintray账号

1.注册的时候请注意选择开源账户注册,这个是免费的;左边的只是免费试用(试用期30天)。

这里写图片描述

2.推荐使用关联github账号的方式注册,其他无需多说

这里写图片描述

二、创建你的Maven库

add New Repository,如果没有创建这个库,后面上传会出现不存在maven路径的错误,所以我说,这里可能必须是maven,你们可以尝试一下,可以肯定的是上传之前必须创建这样一个maven类型的库

这里写图片描述

三、引入bintray_release插件

// 需要紧接着apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release' 

// 官方wiki说把下面这段代码放在module的build.gradle文件下,这样的话classPath是跟着module走的,只是将这个classPath丢到project的build.gradle文件的相应位置,也是可以的。如果同一个project有多个module需要上传,可以放到project的build.gradle里

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        //这里不应该是官方wiki所说的<latest-version>
        classpath 'com.novoda:bintray-release:latest.release'
    }
}

四、参数配置

def prop = new Properties()
prop.load(file('../local.properties').newDataInputStream())

publish {
    userOrg = 'sheaye'//bintray用户名
    groupId = 'com.sheaye'// jcener上的路径
    artifactId = 'cube-pager'//项目名
    publishVersion = '1.0.0'//版本号
    desc = 'Oh hi, this is a nice description for a project, right?'//项目描述
    website = 'https://github.com/sheaye/cube-pager-master'//项目网址,建议github开源库网址
    bintrayUser = 'bintrayUserName'//你的bintray的用户名
    dryRun = false
    bintrayKey = prop.getProperty("BINTRAY_KEY")
}

这里涉及到的bintrayKey,可以在你的bintray账户中找到(下图示),由于bintrayKey是一个相对私密的数据,我存储在local.properties中,这个文件不要上传到github了。最后三个属性是我自己加上的,后面会说为什么加。

这里写图片描述

这里写图片描述

五、其他配置

如果你在源码中有中文注释,请在project的build.gradle中添加utf-8的支持,否则在生成Javadoc文件会出现编码错误

allprojects {
    repositories {
        jcenter()
    }
    tasks.withType(Javadoc){
        options{
            encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}

六、一键上传

如果是windows系统,在Android Studio的Terminal下直接输入gradlew clean build bintrayUpload就可以了。
官方wiki是说输入$ ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false,注意到没,-PbintrayUser=BINTRAY_USERNAME,PbintrayKey=BINTRAY_KEY和-PdryRun=false我都没再写,为啥?PbintrayUser、PbintrayKey、PdryRun其实就是publish的bintrayUser,dryRun和bintrayKey ,这三个参数其实在插件源码中已经定义了,只是在wiki中没有使用罢了。
我这里试过gradle工具栏的clean、build和bintrayUpload,但是这样会失败,还好这段命令不长。

另外需要注意:每次上传需要刷新版本号,不然会出错;其他错误,请尝试clean后再试。

不出意外的话,build successful后你的库就已经上传到bintray了,但还有最后一步:

七、测试

如图复制maven,在根目录配置
这里写图片描述

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://dl.bintray.com/sheaye/maven'
        }
    }
}

在app的module中配置依赖,就可以测试了,但到这还没有结束。

八、add to Jcenter

这里写图片描述

怎么样,代码量少很多吧,很简单吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值