在开发安卓的时候,我们会封装自己的library ,但是每次新建项目都需要搬迁library,代码搬迁是比较麻烦的事。如果条件允许的话,可以将library发布到jcenter 通过gradle添加需要library
如 :
dependencies{ compile 'com.google.code.gson:gson:2.8.0'}第一步 注册JCenter是由Bintray公司在维护,所以首先你需要注册一个帐号,传送门
登陆首页,往下拉,找到“For Open Source Plan Sign Up Here” 点击注册个人免费版,如果是企业用户,可以点击"star your free trial",不过需要收取服务器费用。
注意,个人免费版项目都是必须公开的,这个和github一样。注册需要邮箱,貌似国内邮箱不支持,所以,大家可以自行注册Gmail
(p.s.发布过程中遇到网络问题,请自备梯子.......)

第二步 新建Repository,获取API Key
注册之后 ,在主页中找到add new Repository 创建项目存放仓库
name 输入你的仓库名 (记下名字,待会需要用到)
type为仓库类型
Licenses 为遵循的许可协议

创建完之后,选择Edit PRofile,进入个人资料页面,选择API Key , 拿到自己的key待会 设置需要用到


第三步 在Android studio 配置上传文件
1. 打开Project 下的 build.gradle 引入相关插件
dependencies { classpath 'com.android.tools.build:gradle:2.2.3' //引入插件 classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'}2.打开Library下的build.gradle 在android 中加入 lintOptions abortOnError false 避免在gradle编译的时候 lint 检查报错然后在最底部加入apply from: "bintrayUpload.gradle" 引入编译文件
android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:25.1.0' compile 'com.google.code.gson:gson:2.8.0'}apply from: "bintrayUpload.gradle"3.在library目录下新建file bintrayUpload.gradle 拷贝下面代码 对应中文位置修改即可
apply plugin: 'com.github.dcendents.android-maven'apply plugin: 'com.jfrog.bintray'version = "1.0.3" //library 版本,以后更新只需要更改版本号就行def siteUrl = 'https://github.com/ljzdyh/CarouselFigure' //项目官网,没有就填github上地址def gitUrl = 'https://github.com/ljzdyh/CarouselFigure.git'//项目的git库地址 必须填写,不然会报错// Maven Group ID for the artifact,一般填你唯一的包名//比如 compile 'com.android.support:support-v4:24.0.0' 中的//com.android.support 部分group = "你的包名"install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' // Add your description here name '通用下拉刷新上拉加载组件,可自定义上下下载效果' //项目描述 url siteUrl // Set your license licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { id 'test' //填写的一些基本信息 name 'test' email 'test@gmail.com' } } scm { connection gitUrl developerConnection gitUrl url siteUrl } } } }}task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources'}task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) options.encoding = "UTF-8" //添加编码方式,才不会报编码错误}task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir}artifacts { archives javadocJar archives sourcesJar}Properties properties = new Properties()properties.load(project.rootProject.file('local.properties').newDataInputStream())bintray { user = properties.getProperty("bintray.user") key = properties.getProperty("bintray.apikey") configurations = ['archives'] pkg { repo = "maven" //此处填写 你新建仓库名 name = "popularrefreshlayout" //发布到JCenter上的项目名字 websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true }}4.最后,打开Project的local.properties 添加刚刚注册的用户名 和 API keysdk.dir=D/://android-sdk-windowsbintray.user=注册用户名bintray.apikey=key值第四步 将项目提交仓库打开Android studio Terminal 输入
gradlew install编译library,编译通过之后会显示BUILD SUCCESS编译成功之后,就可以输入gradlew bintrayUpload,进行library上传
gradlew bintrayUpload上传成功后,刷新你新建的仓库页面,就可以看到新上传的library 
点击进入library ,在右下角Linked to 点击Add to JCenter,然后点击send 发送给管理者审核,等几小时之后,审核通过就会给你发送通知
只要审核通过你就可以在gradle中直接引用你的library了

P.S. 下次修改bug或者版本更新后,只需要在bintrayUpload.gradle 文件修改version版本号后, 再次 执行gradlew bintrayUpload 上传即可,很方便的操作。
新闻热点
疑难解答