使用Gradle发布Android类库到JCenter笔记
如果你想在Android Studio中引入一个library到你的项目,只需添加一行compile代码到模块的build.gradle文件中,远程依赖可以节省工程文件大小,避免了大量本地jar包类库占据代码空间,而且类库版本更新也很方便。
如果我们有一个开源类库需要提供给别人来用,就可以采用下面的方式来发布。
注册账号
首先要在bintray注册个账号,并在设置里获取API Key
修改Gradle脚本
修改根目录下build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.novoda:bintray-release:0.3.4' //添加
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}修改要上传的类库模块的build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'//添加
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
...
}
buildTypes {
...
}
lintOptions {
abortOnError false
}
}
dependencies {
...
}
//添加
publish {
userOrg = 'huzongyao'//bintray.com用户名
groupId = 'com.hzy'//jcenter上的路径
artifactId = 'nsgif'//项目名称
publishVersion = '1.0.0'//版本号
desc = 'an android gif decoder based on libnsgif'//描述
website = 'http://huzongyao.github.io/'//网站
}执行编译上传脚本
1
./gradlew clean build bintrayUpload -PbintrayUser=huzongyao -PbintrayKey=XXXXXXXXXXXXXXXXXXXXXXXXXX -PdryRun=true
dryRun参数说明只编译不上传,确定要上传的时候设置为false
添加到JCenter
上传成功以后到bintray网站就可以看到这个类库的信息了,用以下方式就可以在android studio中引用该类库,但是还是报错。
这是只需要在网页右边点Add to jcenter,审核通过以后就可以正常使用了。1
compile 'com.hzy:nsgif:1.0.0'
这样之后就大功告成了,之后版本更新,也采用同样的方式即可。