广大Android开发者,在开发过程当中,可能会使用到不少的第三方的开源库以完成本身的功能需求。在使用时不免会好奇,这种第三方的开源库是怎样生成,若是我也发布一个开源库到底麻不麻烦。有一几句话叫作: 为之,则难者易;不为,则易者亦难矣。下边我就会带着你们一块儿建立一个本身的Android开源库,并发布到Maven平台上,以供其余开发者使用。html
闲言碎语很少讲,直接上步骤。android
一、首先,在https://issues.sonatype.org中注册帐号。git
二、在https://issues.sonatype.org/secure/Dashboard.jspa中点击“Create”建立一个项目,好比“TestLibrary”github
示例图以下:apache
三、 建立完毕后就等待状态变为“resolved”,而后你就可使用Gradle上传项目了。并发
四、 上传前须要进行GPG签名,因此先去下载GPG(https://www.gnupg.org/download/index.html),而后打开。 新建一个Keychain,完成后右键“Send Public Key to Key Server”,这样就能把你的public key发送到服务端。app
示例图以下:jsp
五、 而后咱们再打包项目的aar文件,intellij idea和android studio使用gradle构建后,会在build中自动生成该文件,直接把他拷出来便可。maven
六、 而后新建build.gradle来进行咱们的上传操做,大概内容以下:ide
----------------------代码块---------------------- 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' } } } } } }
----------------------代码块----------------------
七、 对内容进行gpg签名,既然须要签名,那须要在gradle.properites中配置key的信息,还有上传的帐号密码,内容以下:
示例图以下:
signing.keyId=xxxxxx signing.password=xxxxxx signing.secretKeyRingFile=/Users/zhaoyongliang/.gnupg/secring.gpg ossrhUsername=xxxxxx ossrhPassword=xxxxxx
八、 全部配置完毕后执行gradle uploadArchives进行上传操做。
九、 登陆https://oss.sonatype.org,点击左边的“Staging Repositories”,而后刚刚上传的项目名称为com.github.xiaoliang0227去掉点-数字, 选中后点击“Close”,若是成功,则再点击“Release”按钮发布。耐心等待一段时间,就能够在Maven中心中查看到了