一步一步教你将开源项目上传到jcenter

最近闲着看了一下jcenter的使用,也想将自己使用频率比较高的东西抽成类库,然后通过compile来使用,提高开发效率,本来以为挺简单的,但是网上介绍的比较模糊,很多博客也比较老了,不适用,花了我一天的时间,还是走了很多弯路,这里记录下来,希望能帮助到小伙伴们,现在觉得还是挺简单的。
第一步:首先是注册,这就是我踩的最大的一个坑,导致我一天都没有上传成功。网上说的都是去jcenter的网站上注册就可以,其实不然,英文好的最好去看英文文档,一步一步来操作。
个人正确的注册地址:https://bintray.com/signup/oss
个人正确的注册地址:https://bintray.com/signup/oss
个人正确的注册地址:https://bintray.com/signup/oss
重要的事情说三遍,一定要到这个网址去注册。
打开界面是这样的,一定要选择我打标记的这个,默认的话是第一个,这就是坑,所以一定要看清楚再注册。

这里写图片描述

注:这里用普通的邮箱(qq,163这些都不好使)是行不通的,最好使用google邮箱或者outlook邮箱。
注册完成后界面是这样的,看下图:

这里写图片描述

但是,如果你注册后界面是下面这样的:

这里写图片描述

看不到New Repository,就说明你注册错了,踩了我的第一个坑。删除账号信息后,重新注册吧。
注册完成后我们点击Add New Repository,新建一个仓库。
注:创建的maven仓名字和类型都要写成maven,如下图所示:

这里写图片描述

然后我们开始获取user和key,至于为什么要,我们后面再说:

这里写图片描述

这里写图片描述

这样我们jcenter的工作就做好了,然后准备我们上传的开源项目,这个比较简单,我就随便说了。
第一步:先新建一个项目,然后在这个项目下新建一个Android LIbrary的Module,自己的开源库就在这个Module里面开发,如下图:

这里写图片描述

第二步:
在这个新建的Module里面,开发自己的开源项目,然后,在原来的项目里是可以直接引用Module里在代码的。但运行的时候会报错,需要在项目的build.gradle中添加如下代码:
compile project(‘:CommonUtilLibrary‘)

后面单引号里面,是自己创建的Module名字。
然后,再重新运行整个项目,就可以把Module也编译进去了。
第三步:
编写工程的build.gradle文件,记住,是工程的。
先打开项目的build.gradle文件,一定是项目的build文件,然后在里面添加如下代码:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:2.3.1‘
classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2‘
classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5‘
}
}
记住,代码有的就保留下来,没有的加上去。
注意:这里Sync有时候会报 Error:(2, 0) No service of type Factory...这样的错误,主要是因为这一行:
classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5‘
如果报错了的话,就自己去官网上看最新的插件版本号,改了就可以了。
这里添加完后完整的build.gradle应该是这样的:

这里写图片描述

然后再打开将要上传的Module的build.gradle文件,添加如下代码:
apply plugin: ‘com.github.dcendents.android-maven‘
apply plugin: ‘com.jfrog.bintray‘

def siteUrl = ‘https://github.com/caijin199410/CommonUtil.git‘ // 项目的主页 这个是说明,可随便填
def gitUrl = ‘https://github.com/caijin199410/CommonUtil.git‘ // Git仓库的url 这个是说明,可随便填
group = "com.abrahamcaijin" // 这里是groupId ,必须填写 一般填你唯一的包名,对应com.squareup.okhttp3:okhttp:3.4.1中的com.squareup.okhttp3部分

install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging ‘aar‘
// Add your description here
name ‘CommonUtil‘ //项目描述
url siteUrl
// Set your license
licenses {
license {
name ‘The CommonUtil Software License, Version 1.0.0‘
url ‘http://www.apache.org/licenses/LICENSE-2.0.txt
}
}
developers {
developer {
id ‘caijinabraham‘ //填写开发者的一些基本信息
name ‘caijinabraham‘ //填写开发者的一些基本信息
email ‘[email protected]‘ //填写开发者的一些基本信息
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = ‘sources‘
}
task javadoc(type: Javadoc) {
options {
encoding "UTF-8"
charSet ‘UTF-8‘
author true
version true
links "http://docs.oracle.com/javase/7/docs/api"
}
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = ‘javadoc‘
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}

Properties properties = new Properties()
properties.load(project.file(‘local.properties‘).newDataInputStream())
bintray {
// userOrg=properties.getProperty("bintray.user")
user = properties.getProperty("bintray.user") //读取 local.properties 文件里面的 bintray.user
key = properties.getProperty("bintray.apikey") //读取 local.properties 文件里面的 bintray.apikey
configurations = [‘archives‘]
pkg {
repo = "maven"
name = "CommonUtil" //发布到JCenter上的项目名字,必须填写,对应com.squareup.okhttp3:okhttp:3.4.1中的okhttp
publishVersion = ‘1.0.0’//发布到JCenter上的项目版本号
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}

添加完成后,完整的build.gradle应该是这样的:

这里写图片描述

这里写图片描述

这里写图片描述

最后需要在本地的local.properties里面添加以下内容:
bintray.user=YOUR_BINTRAY_USERNAME
bintray.apikey=YOUR_BINTRAY_API_KEY
如图所示:

这里写图片描述

第四步:
打开android studio的命令行:

这里写图片描述

输入如下命令:
输入命令:
gradlew install
gradlew bintrayUpload
当这两个命令都成功显示BUILD SUCCESSFUL就可以了,或者不执行上面这两个命令,直接合成执行下面这个命令就可以了:
gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
记住要把user和key换成自己的,同样要显示BUILD SUCCESSFUL才可以。

最后要将项目发布到jcenter:
上传开源库到jcenter的办法很多,可以百度,这里看看我的就可以了,打开jcenter的主页,进入自己新建的maven仓库里面,你就可以看到自己推上来的开源项目了,如下图所示:

这里写图片描述

这里写图片描述

然后需要等待审核通过,一般5-6小时。在审核通过前可以通过配置自己私有仓地址使用。

这里写图片描述

然后在项目的根目录下build.gradle配置地址:

这里写图片描述

然后在要是使用的Module的build.gradle里面添加依赖:
项目中加入依赖即可:
compile ‘com.abrahamcaijin:ComonUtil:1.0.0‘

注意:如果这里提示依赖不成功,可以再后边加上@arr,审核通过以后可以去掉后面的@arr,暂时发现os系统上传后不需要加入便可成功,windows系统上传需要加入@arr
compile ‘com.abrahamcaijin:ComonUtil:[email protected]‘

然后现在是1.0.0版本,我以后想增加、迭代怎么办?
这个非常简单,当你的Library代码更改后,只需要更改一下上面的配置里面的publishVersion,运行gradlew clean build bintrayUpload -PdryRun=false,就可以更新版本号了。这样,整个过程就结束了。
好了,现在你就可以在你项目中依赖你的开源库了,就是这么简单!有不懂的联系我。

转载自:http://blog.csdn.net/u014727709/article/details/71104201
欢迎start,欢迎评论,欢迎指正

时间: 2024-10-11 22:10:10

一步一步教你将开源项目上传到jcenter的相关文章

一步一步教你分享开源项目到 Maven 中心仓库

欢迎各位关注我的新浪微博:http://weibo.com/kifile 转载请标明出处(http://blog.csdn.net/kifile) 相信很多程序猿朋友都或多或少写过一些通用库文件,也有很多人会秉着开源的精神将代码分享到类似 Github 之类的代码托管网站去. 其实大家分享代码的时候,目的在于让更多的人使用,但是如果仅仅是放在 Github 这些工具上等人家下载使用,其实很多人是会觉得很麻烦的,那么有什么方法能够帮助我们在不下载 Github 上的源码的时候,使用这些代码吗? 回

手把手教你如何学会快速上传项目到GitHub

一 首先需要注册GitHub账号 附上注册链接 : https://github.com/join 二 创建GitHub上的仓库 拥有了自己的账号以后,就可以进行登录,创建属于自己的第一个项目,点击下图的 New respository 开始创建项目,包含了项目名称,描述[选填],默认public 公有 创建完成后,跳到如下页面,记住红色方框里的地址,下面用Git上传项目的时候需要时使用 下面,我们需要上传项目到GitHub上面,需要先下载Git,附上下载地址:https://git-scm.c

8uftp 使用教程之教你如何把音乐上传到免费空间

教你如何用8uftp软件,上传文件到免费空间. 8UFTP客户端工具:● 支持外链下载● 支持直接在线解压缩● 快速删除远程文件夹● 独家支持多线程上传,速度是普通ftp工具的3倍8UFTP智能扩展服务端工具:● 支持在线解压缩文件● 防21端口CC攻击● 防暴力破解ftp密码● 快速删除远程文件夹 https://pan.baidu.com/s/1eRLYDYa      自己录制的教程,希望对大家有所帮助.

Android 快速发布开源项目到jcenter

转载请标明出处(请勿转载删除底部微博.微信等信息): http://blog.csdn.net/lmj623565791/article/details/51148825: 本文出自:[张鸿洋的博客] 大家在很多时候都希望让自己的开源项目可以更方便的让用户去使用,那么对于Android平台,一个很好的方式就是上传到jcenter,然后使用时通过添加compile引用即可. 对于上传到jcenter,也不算技术类的文章,而且已经有很多较好的文章可以参考,写之前我也大致百度了一下. 目前很多文章都是

AndroidStuio快速发布开源项目到Jcenter/Bintray

AndroidStuio快速发布开源项目到Jcenter/Bintray 版权声明:转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 QQ交流群1:46505645 QQ交流群2:46523908 群资源有限,请不要重复加群,谢谢. 前言 最近做了两个开源项目,一个是Android网络框架NoHttp,和Volley.OkHttp一样做客户端请求的,更多相关信息请百度哦:另一个是Android Web服务器框架AndServer,用来在An

教你上传本地代码到github

最近想起学Git,并且注册了Github. 将新创建的本地代码上传到github上,这里简单的记录一下,我喜欢使用命令行,这里全用命令行来实现,不了解Git命令的可以去了解下. 第一步:建立git仓库 在你想上传的文件夹下面,鼠标右键点击git bash here. 执行Git命令:git init 第二步:将项目的所有文件添加到仓库中 执行"git add ." . 如果想添加某个特定的文件,只需把"."换成特定的文件名即可. 第三步:将add的文件commit到

手把手教你在github上传项目

1.注册账号 首先打开网站 https://github.com/ 没有账号的话需要先注册一个账号,点击sgin up for github注册 注册需要填写 用户名 邮箱 密码 以及完成人机验证 2.登录以及创建仓库 登录后的界面 点击右上角加号创建一个新的仓库 填写项目名称,描述 创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上传代码的时候需要使用 3.安装git 接下来,我们需要先下载Git,这里最好下载最新版本的Git,下载地址:https://git-scm.com/d

eclipse中如何向开源中国(码云)上传代码

摘要 本文将介绍如何将本地的项目提交到开源中国上去,过程比较详细,实现起来很简单.由于自己也算是一个新手,所以没有做过多的解释,只是单纯的描述了该如何去做. 1.在开源中国上面新建一个空项目 到这里也就结束了,一个空项目创建完成. 2.将本地项目上传到我们新建的项目中去 2.1在eclipse中新建一个测试项目 2.2 右键team->分享项目 2.3 将项目本身做为仓库,项目下会多一个.git的文件夹. 2.4 Finish完成之后,项目会发生一些变化.表示我们没有将数据提交到仓库中,下面将代

Ceph,Red Hat在代码贡量献上一骑绝尘的开源项目

前言: 笔者在之前的<从PowerVM,KVM到Docker:存储池的配置与调优-第一篇>中,分享了PowerVM下存储池的配置和调优的方法.在X86虚拟化和云时代,Ceph具有天生的优势,因此本文着重介绍Ceph的原理和架构.同时,本文也作为<从PowerVM,KVM到Docker:存储池的配置与调优-第二篇>而存在. Ceph的前世 2014年,红帽收购Inktank(Inktank主要提供基于Ceph的企业级产品),此次收购后,红帽成为最大的开源存储产品提供商,包括对象存储.