广大Android开发者,在开发过程中,可能会使用到很多的第三方的开源库以完成自己的功能需求。在使用时难免会好奇,这种第三方的开源库是怎样生成,如果我也发布一个开源库到底麻不麻烦。有一几句话叫做: 为之,则难者易;不为,则易者亦难矣。下边我就会带着大家一起创建一个自己的Android开源库,并发布到Maven平台上,以供其他开发者使用。
闲言碎语不多讲,直接上步骤。
示例图如下:
3、 创建完毕后就等待状态变为“resolved”,然后你就可以使用Gradle上传项目了。
4、 上传前需要进行GPG签名,所以先去下载GPG(https://www.gnupg.org/download/index.html),然后打开。 新建一个Keychain,完成后右键“Send Public Key to Key Server”,这样就能把你的public key发送到服务端。
示例图如下:
5、 然后我们再打包项目的aar文件,intellij idea和android studio使用gradle构建后,会在build中自动生成该文件,直接把他拷出来即可。
6、 然后新建build.gradle来进行我们的上传操作,大概内容如下:
----------------------代码块----------------------
apply plugin: 'com.android.library'
apply plugin: 'maven'
// 使用signing plugin做数字签名
apply plugin: 'signing'
//定义GroupID和Version,ArtifactID会自动使用Project名
group = 'com.github.xiaoliang0227'
archivesBaseName = "DailyToolsUnit"
version = '1.0.4'
repositories {
mavenCentral()
}
signing {
sign configurations.archives
}
uploadArchives {
repositories {
mavenDeployer {
// 为Pom文件做数字签名
beforeDeployment {
MavenDeployment deployment -> signing.signPom(deployment)
}
// 指定项目部署到的中央库地址
repository(url: 'https://oss.sonatype.org/service/local/staging/deploy/maven2/') {
authentication(userName:ossrhUsername, password:ossrhPassword)
}
snapshotRepository(url:'https://oss.sonatype.org/content/repositories/snapshots/') {
authentication(userName:ossrhUsername, password:ossrhPassword)
}
// 构造项目的pom文件
pom.project {
name project.name
packaging 'aar'
description '日常开发中用到的工具类集合'
url 'https://github.com/xiaoliang0227/DailyToolsUnit'
scm {
url 'scm:git@github.com:xiaoliang0227/DailyToolsUnit.git'
connection 'scm:git@github.com:xiaoliang0227/DailyToolsUnit.git'
developerConnection 'git@github.com:xiaoliang0227/DailyToolsUnit.git'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'Jason Zhao(赵永亮)'
}
}
developers {
developer {
id 'yongliang'
name 'Jason Zhao(赵永亮)'
email '503518700@qq.com'
}
}
}
}
}
}
----------------------代码块----------------------
7、 对内容进行gpg签名,既然需要签名,那需要在gradle.properites中配置key的信息,还有上传的账号密码,内容如下:
示例图如下:
signing.keyId=xxxxxx
signing.password=xxxxxx
signing.secretKeyRingFile=/Users/zhaoyongliang/.gnupg/secring.gpg
ossrhUsername=xxxxxx
ossrhPassword=xxxxxx
8、 所有配置完毕后执行gradle uploadArchives进行上传操作。
9、 登录https://oss.sonatype.org,点击左边的“Staging Repositories”,然后刚刚上传的项目名称为com.github.xiaoliang0227去掉点-数字, 选中后点击“Close”,如果成功,则再点击“Release”按钮发布。耐心等待一段时间,就可以在Maven中心中查看到了