转载请标明出处:一片枫叶的专栏
今天我们将讲解一下如何将android项目发布到Jcenter代码库中。Jcenter是一个maven的标准代码库,向我们平时通过compile
引用的library库其实基本都是从Jcenter库中下载的,所以还是很有必要了解如何将Android项目发布到Jcenter代码库的。
一、compile做了什么?
现在大部分同学都是使用android studio开发android项目了,使用android studio我们只需要简单的一句代码就可以实现引用其他代码库的操作,假如你想在Android Studio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中:
dependencies {
compile 'com.inthecheesefactory.thecheeselibrary:fb-like:0.9.3'
}
就是如此简单的一行代码,我们就可以使用这个library了。那么Android studio背后做了什么让我们可以下载这个类库并直接使用了呢?
Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。怎么样看着很熟悉吧,就是我们平时在Android项目根目录下有一个build.gradle文件,如图所示:
这里面定义的repositories其实就是Android studio编译时下载类库的代码库,在我们添加编译类库的时候:
compile 'com.android.support:appcompat-v7:23.1.1'
Android studio背后就会在定义的jcenter代码库中根据compile中填写的URL寻找相应的类库。
好吧,既然如此,那么如果我们想通过compile的方式引用自己的开源库,那么我们就需要将自己的开源库上传到jcenter代码库中,但是如何将自己的开源库上传到jcenter代码库呢?O(∩_∩)O哈哈~,这也是本文所要讲解的内容。
二、创建Android项目
创建一个普通的Android studio项目,同时创建一个module,具体的创建过程这里不再详细叙述。。。
三、在bintray中注册账号
bintray是一个jcenter的管理网站,jcenter是一个maven代码库,而bintray是这个代码库的代理商,所以想要向jcenter中上传代码需要首先在bintray中注册一个账号,注册网址: bintray, 具体的注册过程这里不再叙述,需要注意的是,注册完成之后在个人信息的栏目中,找到edit,你会发现bintray会自动生成一个API key,这个字符串会在后续上传过程中使用;
四、准备上传代码
- 配置个人信息
然后到你的.gradle目录下(如果你没有配置过GRADLE_USER_HOME的环境变量,则是在你的用户目录下),编辑gradle.properties(如果没有则创建),加入配置:
BINTRAY_USER=xxx
BINTRAY_KEY=xxx
- 配置项目信息
在module的build.gradle中添加一下信息:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
}
}
apply from: 'https://raw.githubusercontent.com/msdx/gradle-publish/master/bintray.gradle'
编译打包项目
注意这个过程中可能会下载一些jar包,若是卡在一些地方一直loading,可能需要翻墙。上传项目
配置完成后,在doc命令中执行gradle bintray,即会进行编译、打包以及发布。
发布至jcenter中
进入bintray官网,然后选择jcenter代码库,然后点击Include My Package,选择自己上传的代码库,然后就可以写一下你的提交请求(不谢也是可以的),点“Send”,接下来就看管理员审核了。
审核
等待管理员审核。通常都很快能通过。大概需要2-3小时的时间。。。
参考文章:
http://blog.csdn.net/maosidiaoxian/article/details/43148643
http://www.open-open.com/lib/view/open1435109824278.html
最近又发现了一个更加简单的发布Jcenter的方式:亲测:最简单的Android studio发布Library到Jcenter
1.配置module
找到Library的Build.gradle文件,加入如下代码
ext {
PUBLISH_GROUP_ID = 'cn.ziyeyouhu.android'
PUBLISH_ARTIFACT_ID = 'sweet-alert-dialog'
PUBLISH_VERSION = '1.0'
}
apply from: 'https://raw.githubusercontent.com/blundell/release-android-library/master/android-release-aar.gradle'
PUBLISH_GROUP_ID 开发者名称
PUBLISH_ARTIFACT_ID 项目名称
PUBLISH_VERSION 版本
compile地址:
'cn.ziyeyouhu.android:sweet-alert-dialog:1.0'
2.生成zip
1.terminal中执行gradlew clean build generateRelease
2.一系列编译之后,你将看到
去上面的路径找到你的zip包,上传将用到
3.bintray
进入bintray,点击注册一个账号
点击 New Repository ,新建一个仓库
- type选Maven,其余的忽略
- 新建Version并且上传zip包
- 进入version
- 点击Upload Files,上传之前生成的Zip包,点击Click to add files,要选中exploding the archive选项
- 下面的页面会提示你有文件没有publish,publish就可以
4.发布到Jcenter
- 回到package,看到右下角add to jcenter
- 后面就是审核了,不出意外的话几个小时,如果你想让别人知道你的compile地址
以上是另一种简便的发布Jcenter的方式,再次感谢:吻中求胜
总结:
本文主要介绍了如何将Android开源项目发布至JCenter代码库,这也是以后我们分析github开源项目的基础,学习了本文之后我们就可以将自己的开源项目发布至Jcenter中并让其他同学使用了。
另外对github项目,开源项目解析感兴趣的同学可以参考我的:
Github项目解析(一)–>上传android项目至github