将Android开源项目通过Gradle发布到bintray/Jcenter

我们经常在github上看到有的项目可以通过gradle的compile一个包的方式将第三方开源项目加入到我们的项目中,那么这是怎么做到的呢?想将自己的开源项目变成这种形式,让别人也可以compile,需要进行以下步骤:

一、在项目中保存bintray帐号信息

首先,我们需要一个bintray帐号,通过 https://bintray.com/  进行注册。
在注册完毕之后,我们需要获得bintray的api key,打开个人中心(Profile),点击头像下方的edit打开编辑。
将Android开源项目通过Gradle发布到bintray/Jcenter_第1张图片
然后进入编辑页面,点击左边的api key,并show就可以看到了。
将Android开源项目通过Gradle发布到bintray/Jcenter_第2张图片
注意每个人的api key都是不一样的,这里需要对它进行保密,不要告诉别人,否则别人可以通过你的api key对提交的库进行调整。
得到API key之后就需要在我们的项目中对它进行设置保存了。
打开我们的项目,这里通过Android Studio进行演示,首先我们找到项目本地的local.properties(如果没有就新建它),这是本地的配置文件,一般我们提交到github的时候,这个文件都会被ignore,所以我们不用担心信息被别人看到。
将Android开源项目通过Gradle发布到bintray/Jcenter_第3张图片
如图,我们在这个文件中加入两个参数,值分别是你在bintray上的api key和你的user name。
BINTRAY_KEY=XXXX
BINTRAY_USER=XXXX

二、编辑Gradle文件

接下来我们需要引入bintray的构建组件,通过compile方式将它们包裹到项目中。
将Android开源项目通过Gradle发布到bintray/Jcenter_第4张图片
需要注意的是这个是最外面的那个build.gradle文件,而不是里面的。详细代码如下:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
接下来我们需要指定是哪一个libray进行提交,因为我们的项目中有可能有多个libray,我们需要指定,这时候转到需要提交的那个libray的build.gradle文件,对其进行修改。在该文件最下方加入这句话:

apply from: 'https://raw.githubusercontent.com/HomHomLin/Gradle-Publish/master/bintray.gradle'
将Android开源项目通过Gradle发布到bintray/Jcenter_第5张图片

这是个脚本文件,我们在该build.gradle里面对它进行编译,该文件是我写的一个专门用来提交项目的gradle文件,适用于任何项目,不需要对其进行什么修改,如果你要修改细化,地址如下:

https://github.com/HomHomLin/Gradle-Publish/blob/master/bintray.gradle

三、设置compile信息

以上操作完成后,我们需要设置compile信息,我们在项目的gradle.properties里进行添加以下,如图所示。
将Android开源项目通过Gradle发布到bintray/Jcenter_第6张图片
内容如下

PROJ_GROUP=homhomlin.lib(项目组名)
PROJ_VERSION=1.1.0(版本号)
PROJ_NAME=AdvancedPagerSlidingTabStrip(项目名)
PROJ_WEBSITEURL=https://github.com/HomHomLin/AdvancedPagerSlidingTabStrip(项目地址)
PROJ_ISSUETRACKERURL=(不管它)
PROJ_VCSURL=https://github.com/HomHomLin/AdvancedPagerSlidingTabStrip.git(项目仓库)
PROJ_DESCRIPTION=AdvancedPagerSlidingTabStrip(项目描述)
PROJ_ARTIFACTID=apsts(项目标签)

DEVELOPER_ID=homhomlin
DEVELOPER_NAME=linhonghong
DEVELOPER_EMAIL=[email protected]

编写完毕后,别人可以通过以下形式来compile你的项目:
dependencies {
    compile 'homhomlin.lib:apsts:1.1.0'
}
所以我们可以知道compile'(项目组名):(项目标签):版本'

四、发布项目

接下来我们需要对项目提交并发布。
点开Android Studio的控制台,cd到项目根目录,执行如下操作:
gradle bintrayUpload
然后等待finish。

五、提交项目审核


项目发布后,我们需要通知bintray对我们的项目进行审核,移步到https://bintray.com/bintray/jcenter。点击include
将Android开源项目通过Gradle发布到bintray/Jcenter_第7张图片
搜索刚才你提交的项目的名字,然后点击搜索结果的勾,然后会出现一个提交审核的界面,直接点击send即可。
接下来就是等待1个晚上,就可以通过审核了。

你可能感兴趣的:(将Android开源项目通过Gradle发布到bintray/Jcenter)