Android Library上传到JCenter仓库

背景:我本地有一基础library库,每次创建项目选择依赖该库,一次,发现改库中有一处地方需要修改,这时候你发现之前该library的项目又得删除然后导入修改后的library。过程会超级麻烦,要是能够像其他第三库一样,通过 implementation XXX ,就简便很多

概念普及

JCenter是什么? 

jcenter是一个由 bintray.com维护的Maven仓库。一般我们会这样定义使用的仓库:

repositories {
        jcenter()
    }

Maven仓库又是什么?

你可以理解为存放我们Library的文件服务器。

我们在使用一些开源库的时候,可能会看到在项目根目录下的build.gradle有如下配置:

allprojects {
    repositories {
        mavenCentral()
    }
}

mavenCentral又是什么? 

mavenCentral跟jcenter一样,都是maven仓库,只是存放的地方不一样,不用猜了,它们半毛钱关系都没有,有一段时间Android的默认仓库是mavenCentral,但后来由于它对开发者不太友好,就把默认仓库换成了jcenter。

更加详细的说明,可以参考以下文章: 
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html

 

继续

一.创建Library

首先创建一个Module,右键project->new Module->Android Library,创建好一个library

我这里创建了一个common的library.简单的添加了几个类。

 

二.应用bintray插件

如果想在AS通过bintrayUpload命令上传library就必须在根gradle下引用相应的插件,配置如下:

在project下的build.gradle下面添加

classpath 'com.novoda:bintray-release:0.8.0'

在Library下的build.gradle下添加

apply plugin: 'com.novoda.bintray-release'

publish {
    userOrg = 'llxqb' //注册Bintray的用户名
    groupId = 'com.liliu.app.addcartanimmaven'//组ID 一般是应用的包名
    artifactId = 'AddCartAnimMaven'//组件标示
    publishVersion = '1.0.0'//版本
    desc = 'AddCartAnimMaven使用'
    website = 'https://github.com/llxqb/AddCartAnim'//如果有上传GitHub可以填写URL
}

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

}
apply plugin: 'com.novoda.bintray-release'放在apply plugin: 'com.android.library'下面

三.在bintray.com注册账号

然后你需要去bintray上注册账号 ,https://bintray.com

è¿éåå¾çæè¿°

四.新建项目

找到Add New Repository,创建项目。

五.获取api key

创建好了之后拿到你的api key,如下获取

点击查看,进行保存。

六.生成库文件

在Sync Now 构建之后,在AS右侧Gradle的module模块下会生成一个upload文件,双击uploadArchives,会在项目目录下生成repository文件,打开看是aar包,可知library被添加成aar包了。

七.上传到jenter库

在AS执行窗口Terminal 执行命令:

gradlew clean build bintrayUpload -PbintrayUser=你的bintray账号  -PbintrayKey=第五步api key  -PdryRun=false

八.最后打开bintray网站查看项目详情

点击 Add to JCenter 提交审核,审核通过会在项目左下侧显示出最终可以使用的地址,然后在build.gradle中进行使用。

 

八.使用中的坑

一般都是gradle版本不对应,jdk版本不对应

注意一点的就是bintray中创建项目时name 填maven,否则会有

Bintray- HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]异常

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值