我们经常在github上看到有的项目可以通过gradle的compile一个包的方式将第三方开源项目加入到我们的项目中,那么这是怎么做到的呢?想将自己的开源项目变成这种形式,让别人也可以compile,需要进行以下步骤:
一、在项目中保存bintray帐号信息
在注册完毕之后,我们需要获得bintray的api key,打开个人中心(Profile),点击头像下方的edit打开编辑。
然后进入编辑页面,点击左边的api key,并show就可以看到了。
注意每个人的api key都是不一样的,这里需要对它进行保密,不要告诉别人,否则别人可以通过你的api key对提交的库进行调整。
得到API key之后就需要在我们的项目中对它进行设置保存了。
打开我们的项目,这里通过Android Studio进行演示,首先我们找到项目本地的local.properties(如果没有就新建它),这是本地的配置文件,一般我们提交到github的时候,这个文件都会被ignore,所以我们不用担心信息被别人看到。
如图,我们在这个文件中加入两个参数,值分别是你在bintray上的api key和你的user name。
BINTRAY_KEY=XXXX
BINTRAY_USER=XXXX
二、编辑Gradle文件
接下来我们需要引入bintray的构建组件,通过compile方式将它们包裹到项目中。
需要注意的是这个是最外面的那个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'
https://github.com/HomHomLin/Gradle-Publish/blob/master/bintray.gradle
三、设置compile信息
以上操作完成后,我们需要设置compile信息,我们在项目的gradle.properties里进行添加以下,如图所示。
内容如下
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=linhh90@163.com
编写完毕后,别人可以通过以下形式来compile你的项目:
所以我们可以知道compile'(项目组名):(项目标签):版本'dependencies { compile 'homhomlin.lib:apsts:1.1.0' }
四、发布项目
接下来我们需要对项目提交并发布。
点开Android Studio的控制台,cd到项目根目录,执行如下操作:
gradle bintrayUpload
然后等待finish。
五、提交项目审核
项目发布后,我们需要通知bintray对我们的项目进行审核,移步到https://bintray.com/bintray/jcenter。点击include
搜索刚才你提交的项目的名字,然后点击搜索结果的勾,然后会出现一个提交审核的界面,直接点击send即可。
接下来就是等待1个晚上,就可以通过审核了。