AS(Android Studio)开发开源Android库快速教程

广大Android开发者,在开发过程中,可能会使用到很多的第三方的开源库以完成自己的功能需求。在使用时难免会好奇,这种第三方的开源库是怎样生成,如果我也发布一个开源库到底麻不麻烦。有一几句话叫做: 为之,则难者易;不为,则易者亦难矣。下边我就会带着大家一起创建一个自己的Android开源库,并发布到Maven平台上,以供其他开发者使用。

闲言碎语不多讲,直接上步骤。

1、首先,在https://issues.sonatype.org中注册账号。

2、在https://issues.sonatype.org/secure/Dashboard.jspa中点击“Create”创建一个项目,比如“TestLibrary”

  • Summary:填写项目名称 
  • Description:填写项目描述
  • Group Id:域名反转,如果没有域名,就直接使用github反转(如github.com/xiaoliang0227 --> com.github.xiaoliang0227),具体看http://central.sonatype.org/pages/choosing-your-coordinates.html
  • Project URL:项目的url,可以是项目的github地址。如https://github.com/xiaoliang0227/DailyToolsUnit
  • SCM url:版本控制的uri,如https://github.com/xiaoliang0227/DailyToolsUnit.git

示例图如下:


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:[email protected]:xiaoliang0227/DailyToolsUnit.git'
 connection 'scm:[email protected]:xiaoliang0227/DailyToolsUnit.git'
 developerConnection '[email protected]: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 '[email protected]'
 }
                }
            }
        }
    }
}


----------------------代码块----------------------

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中心中查看到了。

你可能感兴趣的:(Android开发)