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