本文目标
成功把Android的library库上传到Bintray并发布到Jcenter,供人使用
一.注册Bintray
Bintray注册地址
注意这里的地址是有带有oss的,是注册的个人账户,我这里以个人账户来演示
关于Email Address,请使用Google邮箱或者使用腾讯的Fox Email邮箱,不要使用QQ邮箱等。
二.创建 maven 仓库
注册成功后,点击“ Add New Repository ”,创建仓库(注意名称和类型的填写)。
WechatIMG229.jpeg仓库名称起个名字,仓库类型选择Maven
三.创建library项目
四.提交项目到 github
五.配置 bintray.gradle 脚本
首先,需要在项目根build.gradle文件中配置bintray插件。
dependencies {
classpath "com.android.tools.build:gradle:4.0.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
//bintray插件
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}
然后,在library项目中创建gradle脚本文件:bintray.bradle
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'
//源码站点链接
def siteUrl = 'https://github.com/ydstar/BannerKit'
//git 链接
def gitUrl = 'https://github.com/ydstar/BannerKit.git'
//实例 implementation 'com.android.ydkit:banner-kit:1.0.0' :group+name+version
//仓库组
group = 'com.android.ydkit'//名字可以随便起
//版本
version = '1.0.0'
install {
repositories.mavenInstaller {
pom {
project {
packaging 'aar'
name 'banner-kit'
url siteUrl
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
//编译 Javadoc
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
//编译 xxx-javadoc.jar
task androidJavadocsJar(type: Jar) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
//编译 xxx-sources.jar
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
//读取配置的账户与apiKey
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
version {
name = '1.0.0'
desc = '轻量级轮播图组件'
}
repo = 'BannerKitRepo' //repository 仓库名称,要能和Bintray中创建的仓库对应上
name = 'bannerkit'//仓库中包的名称
licenses = ['Apache-2.0']
vcsUrl = gitUrl
publish = true
}
}
最后,在library项目的build.gradle文件后面引入bintray.gradle配置
apply from: './bintray.gradle'
六.编译
首先,执行安装命令
./gradlew install
然后,执行上传命令
./gradlew bintrayUpload
成功后会显示SUCCESSFUL
七.提交到 Jcenter
在项目详情页面,点击“Add to Jcenter”
提交成功后,等待审核,审核后会有邮件通知到注册的邮箱
成功后会如下显示
八.问题总结
注册 bintray 容易注册成团队账户而导致
HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
还需要正确配置JAVA_HOME,ANDROID_HOME,要不然会出现一些异常问题
网友评论