这篇文字主要讲解如何上传到JCenter中央仓库,如果想要看如何上传到私服Maven,可以参考我的上一篇文章https://blog.csdn.net/a568478312/article/details/80166281。百度的很多资料都异常繁琐,其实很多东西都不用管,这篇我将尽量写最简单的过程,适用于有一定经验的Android Studio开发者。
注册JCenter账号
https://bintray.com/signup/oss 在这个地址,我们创建一个JCenter账号,实测qq邮箱和163邮箱都特么用不了。没办法搞了个gmail最后才成功注册。
新建代码仓库并获取API key
登陆之后新建代码仓库
仓库类型以及开源许可需要注意一下,其他的随便写。
获取API key
到这里我们JCenter的设置就基本完成了。下面在Android Studio中编写gradle。
Android Studio上传aar配置
这里我们同样新建一个app和library两个module。注意在JCenter中除了要上传aar以外,还需要source , javadoc, pom几个文件。我们在项目的library模块中的build.gralde末尾添加如下代码。
//
group 'com.jabami.ty'
version '1.0.0'
//源代码打包任务
task sourcesJar(type :Jar){
classifier 'sources' //分类器 区分其他jar包
from android.sourceSets.main.java.srcDirs
}
//创建文档生成任务
task javadoc(type:Javadoc){
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task docJar(type :Jar,dependsOn:javadoc){
classifier 'doc' //分类器 区分其他jar包
from javadoc.destinationDir
}
//配置 工程工件 jar产出的配置
artifacts{
archives sourcesJar
archives docJar
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
}
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'
bintray {
user = '568478312' //用户名
key = apikey //上一步获取的Api key
configurations = ['archives']
pkg {
repo = 'JabamiYu' //需要上传的仓库名
name = 'core' //上传的项目名
licenses = ['Apache-2.0']
vcsUrl = 'https://xxxx.git'//github对应地址,可以不写
version {
desc = 'just test'
released = new Date()
vcsTag = '1.0'
attributes = ['gradle-plugin': 'xxxxx']
}
}
}
install {
repositories.mavenInstaller {
//配置pom文件
pom.project {
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
}
}
}
这里只需要对应你的项目修改这几个地方:仓库名称、上传的项目名、api key、group、version、用户名。如果不额外修改pom,其他都可以不用管。另外一点需要注意 classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5’ 这个的版本。如果不选择对应的版本,很容易上传失败。下图是不同版本的Gradle对应的插件版本。
最后注意的一点就是Module的名称就是artifactId的名称,尽量不要特意修改pom的artifactId内容。
一切完成之后,我们同步Gradle,然后执行上传任务。这里需要执行的任务有如下两个,依次执行install ,bintrayUpload。
gradlew :mylibrary:install
gradlew :mylibrry:bintrayUpload
上传成功之后,我们在对应的代码仓库中可以看到内容。
接下来我们点击publish,就是最中间的那个。提示成功之后,我们进入对应的包。点击Add to JCenter进行审核。
审核成功后我们就可以直接引用依赖来使用了,在审核成功之前,我们可以这样来使用。右上角的URL是对应的代码库的地址。在app模块下的build.gradle中添加。
repositories{
maven{
url "https://dl.bintray.com/568478312/JabamiYu"
}
}
dependencies {
implementation 'com.jabami.ty:core:1.0.0'
}
审核成功之后就不需要额外添加url来引用了。如果有什么问题,可以在评论区回复。