Android向JCenter发布开源库方法

2017-05-08  本文已影响0人  Ricky_Chan

前言

Android开发在很多时候都想很方便的使用别人和自己的开源库,不希望将已经封装好的模块在多个项目中进行无休止的复制、粘贴;最好的方式就是将自己封装好的库发布到JCenter中,然后在新项目的APP Module中进行compile依赖,实现上传到JCenter中的方法有很多,本文介绍一种非常简单的方式进行上传--bintray-release

方法

1.建立封装库

上传到JCenter中一定要有一个库,所有需要在Android studio中新建一个类型为library的封装库


新建封装库

2.注册bintray.com账号

JCenter其实就是一个maven仓库,注册bintray.com账号其实就是拥有上传权限的第一步(因为JCenter库是由bintray维护的)

bintray注册界面 保存key

3.在项目中引入bintray-release

3.1.在项目的build.gradle中添加依赖
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.novoda:bintray-release:0.4.0' //添加
    }
}
3.2.配置需要上传的 Library Module
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release' //添加

android{  //不变
}

dependencies{ //不变
}
// 添加
publish {
    userOrg = 'rickychan'//bintray.com用户名
    repoName = 'android'//Repository名(bintray网站新建的Repository名,类型为maven)
    groupId = 'com.ricky'//jcenter上的路径
    artifactId = 'avanti'//项目名称
    publishVersion = '1.1.0'//版本号
    desc = 'Custom Android fast develop framework'//描述,不重要
    website = 'https://github.com/AndRickyChan/Avanti'//网站,不重要;可以填写项目的github地址
}
注意:

4.开始上传

执行下面代码进行上传

 ./gradlew clean build bintrayUpload 
 -PbintrayUser=rickychan
 -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx 
 -PdryRun=false
注意:

5.提交审核

提示上传成功后,就可以在 https://bintray.com/你的用户名/你的Repository名 中看到你上传的library

上传后项目截图

点击项目进入详情即可提交审核


提交审核
注意:

细节介绍

1.在执行上传代码的时候,有可能出现错误,请按照命令行提示的错误进行修改,然后重新执行上传操作。
2.如果上传的library Module的build.gradle中存在中文代码或者注释,则需要在项目的build.gradle文件中进行配置
allprojects {
    repositories {
        jcenter()
    }

    //添加
    tasks.withType(Javadoc) {
        options {
            encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}
3.如果library更新,则需要重新上传,上传代码不变,只需要改变需要上传的Module中的build.gradle中的配置,更改publishVersion参数即可,更新库不需要等待bintray审核,会在自己新建的Repository中生成一个新版本的分支,点击可查看详情
仓库更新

其他

在学习将自己的库上传到JCenter的时候参考的是hongyang大神的博客,然后根据提交过程中产生的错误进行的实践,对细节进行了相应的补充。

上一篇下一篇

猜你喜欢

热点阅读