Android开源库发布到jcenter
2018-07-11 本文已影响9人
jamie92
思路
这里使用 bintray 官方提供的 bintray 工具上传开源库到 bintray 仓库中,然后再将bintray添加到 jcenter 。
参考链接:bintray官网 bintray-examples
1. 使用AS(Android Studio)创建项目
创建一个app应用,还有一个mylibrary,创建的项目结构如下图所示

2. 申请个人免费的Bintray账号 注册入口
具体注册自行发挥。由于 bintray 不支持 qq 等一些国内的邮箱格式,所以这里建议使用google的gmail邮箱注册。
3. 添加Maven Repository
由于bintray-release工具并不会为我们生成Maven Repository,所以我们需要自行添加Repository


4. 获取bintray的API Key


5. 配置Build.gradle文件
- 在 Project 的 build.gradle 文件的 dependencies 标签中,添加下面代码
dependencies {
....
classpath'com.github.dcendents:android-maven-gradle-plugin:2.0'
classpath'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
}
- 在library 的build.gradle 文件中添加下面代码
apply from: 'publish.gradle'
- 创建public.gradle文件到library目录下,并复制下面代码到public.gradle文件中
applyplugin:'maven-publish'
applyplugin:'com.jfrog.bintray'
version'1.0.0' //版本号
group 'com.bintray' //包组名
publishing{
publications {
Production(MavenPublication) {
artifact("$buildDir/outputs/aar/library-release.aar")
groupId
artifactId 'example'
versionthis.version
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
if(it.name!='unspecified') {
def dependencyNode=dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
bintray{
user='BINTRAY_USER' //BINTRAY_USER 你在Bintray注册的用户名
key='BINTRAY_API_KEY' //BINTRAY_API_KEY 你在bintray的API KEY
publications=['Production']
configurations=['archives']
override=true
pkg {
repo='maven'
name='example'
description="An example of using the bintray plugin with gradle plugin 3.0.0"
publish=true
publicDownloadNumbers=true
licenses=['Apache-2.0']
vcsUrl='https://github.com/bintray/gradle-bintray-plugin.git'
dryRun=false
version {
name=this.version
desc="Example${this.version}"
released=newDate()
vcsTag=this.version
}
}
}
6. 通过AS(Android Studio)的命令行工具(Terminal)发布我们的库
- Windows 系统
gradlew clean build bintrayUpload
- Mac系统
./gradlew clean build bintrayUpload
7. 将项目发布到Jcenter
进入Bintray的项目中
访问:https://bintray.com/<Birntray用户名>/maven/<项目名称>

填写添加项目到 JCenter 申请信息,接着等待工作人员批准申请后,你才能使用Jcenter库访问到你的项目。
8. 版本升级
修改步骤2中的版本号,然后使用步骤6中的命令发布项目