JCenter是什么?
- 它是由 JFrog 公司提供的 Bintray 中的 Java 仓库
- 与 Maven Central 相比,JCenter 的速度更快,包含的库更多,UI界面更友好,更容易使用
- Bintray 还支持将 JCenter 上传到 Maven Central 的功能
- JCenter 是 Android Studio 默认使用的服务器仓库
如何上传到Jcenter?
使用bintray-release插件上传(这种方式比较便捷)
1.1 注册bintray.com账号
1.2 项目的build.gralde
buildscript {
ext.deps = [
'support' : [
'compat' : "com.android.support:support-compat:${versions.supportLibrary}",
'annotations': "com.android.support:support-annotations:${versions.supportLibrary}",
'test' : [
'runner': 'com.android.support.test:runner:1.0.1',
],
],
javapoet : 'com.squareup:javapoet:1.10.0',
'auto' : [
'service': 'com.google.auto.service:auto-service:1.0-rc4',
'common' : 'com.google.auto:auto-common:0.10',
],
'userOrg' : 'woshifantuo3', //bintray注册的用户名
'groupId' : 'com.zero', //compile引用时的第1部分groupId
'publishVersion': '1.0.3', //compile引用时的第3部分版本号
'desc' : 'This is a apt tool for validate input',
'website' : 'https://github.com/cl9/InputValidator',
]
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.novoda:bintray-release:0.8.1'
}
}
1.3 待上传moudle的build.gralde
apply plugin: 'com.novoda.bintray-release'
android {
//保持不变
}
dependencies {
//保持不变
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
String localBintrayUser = properties.getProperty("bintray.user")
String localBintrayApikey = properties.getProperty("bintray.apikey")
publish {
bintrayUser = localBintrayUser //bintray.com用户名
bintrayKey = localBintrayApikey //bintray.com apikey
dryRun = false
userOrg = deps.userOrg
groupId = deps.groupId
artifactId = 'inputvalidator-processor' //compile引用时的第2部分项目名
publishVersion = deps.publishVersion
desc = deps.desc
website = deps.website
}
1.4 修改local.properties
bintray.apikey=BINTRAY_KEY
bintray.user=BINTRAY_USERNAME
1.5 上传
在studio的命令行执行以下命令即可
gradlew clean build bintrayUpload
这样上传成功后就可以使用了,例如:
buildscript {
repositories {
// 必须指定maven仓库的地址,因为此时还没上传到jcenter
maven { url "https://dl.bintray.com/woshifantuo3/maven" }
}
dependencies {
classpath 'com.zero:AspectPlugin:1.0.0'
}
}
apply plugin: 'aspectj.plugin'
1.6 上传到jcenter
上传到jcenter之后就可以不用指定maven仓库地址,直接就能使用:
buildscript {
dependencies {
classpath 'com.zero:AspectPlugin:1.0.0'
}
}
apply plugin: 'aspectj.plugin'
使用gradle-bintray-plugin插件上传
可以参考 如何利用gradle-bintray-plugin上传开源项目到jcenter
注意事项
- local.properties文件千万不要上传到版本仓库中
- Bintray如何删除版本库某一版本
- Bintray注册一定要走个人注册地址https://bintray.com/signup/oss