熟悉Android开发的人对aar都不会陌生,它类似于jar,但是相对于jar多包含了Android特有的资源文件等信息。我们可以在项目中直接引用一个aar,也可以通过implementation远程地址的方式下载到本地后来使用。
通过implementation远程地址的方式使用的时候,aar都是从预先配置在工程根build.gradle文件中的远程仓库中下载的,最常见的就是maven和jcenter。maven由于使用不够方便等原因渐渐地不再流行,而jcenter渐渐地为大众所接受。
repositories {
google()
jcenter()
maven()
}
既然jcenter上可以下载aar,那么就意味着肯定也可以上传aar,我们开发的开源库可以打成aar后发布到jcenter上,供其他人来使用。为了更方便地向jcenter发布项目,可以借助JFrog Bintray。JFrog Bintray提供了非常方便的软件发布能力,并且支持一键转发到jcenter上。
下面就开始教程吧。
在Bintray上创建Package
在Bintray上,有Repository和Package两个概念。Repository是一个仓库,专门存储Package的。比如我们每一个上传的项目就是一个Package。可以创建多个Repository,一个Repository下面可以有多个Package。Repository可以有多种类型,对于发布Android Library来说,使用Maven这个类型就可以了。
-
注册bintray.com账号
-
登录后点击
Add New Repository
-
类型选择
Maven,名字随意
-
创建好Repository之后,在首页就可以看到刚才创建好的Repository了。点击进入。
-
点击
Add a Package准备添加Package
-
把该填的信息都填上后,点击
save,这样一个Package就创建好了
下面就开始从本地的Android Studio上传项目到对应的Package中了。
配置Android Studio
- 在工程的根
build.gradle中添加依赖
dependencies {
classpath ‘com.android.tools.build:gradle:3.1.4’
classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3’
classpath ‘com.github.dcendents:android-maven-gradle-plugin:2.0'
}
- 在
local.properties文件中添加bintray信息
bintray.user=YOUR_BINTRAY_USERNAME
bintray.apikey=YOUR_BINTRAY_API_KEY
Apikey获取方式如下,点击首页右上角用户名处,会展开一个弹窗

点击Create Organization,在最下方即是Apikey

- 在需要上传仓库的Library中的
build.gradle文件中添加如下配置信息。
apply plugin: ‘com.android.library’
ext {
bintrayRepo = ‘你的Repository名称’
bintrayName = ‘你的Package名称’
publishedGroupId = ‘这个包的groupId’
libraryName = ‘library名字,打出来的aar名字’
artifact = ‘这个包的artifactId’
libraryDescription = ‘对这个包的描述,可以不填’
siteUrl = ‘https://github.com/liwshuo/StateLayout’
gitUrl = ‘https://github.com/liwshuo/StateLayout.git’
libraryVersion = ‘1.0.0’
developerId = ‘你的Id’
developerName = ‘你的名字’
developerEmail = ‘你的邮箱’
licenseName = 'The Apache Software License, Version 2.0'
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
allLicenses = [“Apache-2.0”]
}
当上传的时候,会从这个配置信息中读取相应的数据。
最后在这个build.gralde文件中添加信息
apply from: ‘https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle’
apply from: ‘https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle’
这两个文件可能会被墙,建议你将这两个文件下载到本地,放到和工程根build.gradle同目录下。然后通过本地的方式引用。具体位置可以参考第二点中的图,上面标注出了这两个文件。
apply from: ‘../install.gradle’
apply from: ‘../bintray.gradle’
上传
当Android Studio都配置完毕后,最后就到了上传的步骤了
执行./gradlew install生成aar文件
执行./gradlew bintrayUpload上传aar文件
当上传成功后,就可以在Bintray上相应的Package中看到上传的记录了。

最后最后,还是这个项目还是要发布到jcenter的。点击右上角的Action展开列表。点击``Add to jcenter`按钮,等待几个小时后审核完毕,即成功添加到jcenter上了。

当成功发布到jcenter后,可以在右上角这个地方看到提示。

大功告成,接下来就可以在项目中测试这个项目是否可以正常使用了。可以点击最新的版本号,里面能够看到如果使用gradle引用依赖应该如何填写配置。
