广大Android开发者,在开发过程中,可能会使用到很多的第三方的开源库以完成自己的功能需求。在使用时难免会好奇,这种第三方的开源库是怎样生成,如果我也发布一个开源库到底麻不麻烦。有一几句话叫做: 为之,则难者易;不为,则易者亦难矣。下边我就会带着大家一起创建一个自己的Android开源库,并发布到Maven平台上,以供其他开发者使用。
闲言碎语不多讲,直接上步骤。
1、首先,在中注册账号。
2、在中点击“Create”创建一个项目,比如“TestLibrary”
- Summary:填写项目名称
- Description:填写项目描述
- Group xiaoliang0227 --> com.github.xiaoliang0227),具体看
- Project URL:项目的url,可以是项目的github地址。如
- SCM url:版本控制的uri,如
示例图如下:
3、 创建完毕后就等待状态变为“resolved”,然后你就可以使用Gradle上传项目了。
4、 上传前需要进行GPG签名,所以先去下载GPG(),然后打开。 新建一个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=xxxxxxsigning.password=xxxxxxsigning.secretKeyRingFile=/Users/zhaoyongliang/.gnupg/secring.gpgossrhUsername=xxxxxxossrhPassword=xxxxxx
8、 所有配置完毕后执行gradle uploadArchives进行上传操作。
9、 登录,点击左边的“Staging Repositories”,然后刚刚上传的项目名称为com.github.xiaoliang0227去掉点-数字, 选中后点击“Close”,如果成功,则再点击“Release”按钮发布。耐心等待一段时间,就可以在Maven中心中查看到了