Github项目解析(二)-->将Android项目发布至JCenter代码库

时间:2022-07-22 08:52:16

转载请标明出处:一片枫叶的专栏

今天我们将讲解一下如何将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文件,如图所示:
Github项目解析(二)-->将Android项目发布至JCenter代码库

这里面定义的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,这个字符串会在后续上传过程中使用;
Github项目解析(二)-->将Android项目发布至JCenter代码库

四、准备上传代码

  • 配置个人信息
    然后到你的.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,即会进行编译、打包以及发布。
    Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 发布至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'

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 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

Github项目解析(二)-->将Android项目发布至JCenter代码库

2.一系列编译之后,你将看到

Github项目解析(二)-->将Android项目发布至JCenter代码库

去上面的路径找到你的zip包,上传将用到

3.bintray

  • 进入bintray,点击注册一个账号

  • 点击 New Repository ,新建一个仓库

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • type选Maven,其余的忽略

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 新建Version并且上传zip包

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 进入version

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 点击Upload Files,上传之前生成的Zip包,点击Click to add files,要选中exploding the archive选项

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 下面的页面会提示你有文件没有publish,publish就可以

4.发布到Jcenter

  • 回到package,看到右下角add to jcenter

Github项目解析(二)-->将Android项目发布至JCenter代码库

  • 后面就是审核了,不出意外的话几个小时,如果你想让别人知道你的compile地址

Github项目解析(二)-->将Android项目发布至JCenter代码库

以上是另一种简便的发布Jcenter的方式,再次感谢:吻中求胜

总结:
本文主要介绍了如何将Android开源项目发布至JCenter代码库,这也是以后我们分析github开源项目的基础,学习了本文之后我们就可以将自己的开源项目发布至Jcenter中并让其他同学使用了。


另外对github项目,开源项目解析感兴趣的同学可以参考我的:
Github项目解析(一)–>上传android项目至github