Android library aar format on maven

最近試著將自己寫的 Android Library Push 上 Maven,

並且使用最新的 aar 格式,

網路上查了一下,

並沒有詳細的中文教學,

靠著自己摸索和一些舊資料完成了,

在這邊紀錄一下,以免忘記,

  1. 第一步需要再 sonatype 上申請帳號,

申請網址:https://issues.sonatype.org/secure/Signup!default.jspa

2.

登入以後再首頁點擊Create Issue

會跳出一個視窗表格,請依照下列方式填寫,

Create Issue
Project Community Support - Open Source Project Repository Hosting
Issue Type New Project
Summary 簡介,簡單介紹一下自己的 Open Source Project
Group Id 以後發布要用的網域,官網有詳細教學
不知道怎麼填寫的話,因為我是放在 Github 上,
所以我就是用com.github.semoncat,可以參考我的改成自己喜歡的ID,
這部分非常重要,以後不能再改,
更改就要 重新申請 ,所以請慎選。
Project URL Github 上的網址
SCM url 版本控管的位置

填寫完成以後,就可以等待管理員回復,

因為是人工審核,所以回復的時間不一定,

但是都蠻快的,美國上班時間通常就會馬上回復,

管理員回復以後,就會開通上傳的權限。

3.

接下來需要產生 GPG Key ,

類似 Google Play Store Key ,

上網搜尋有很多 GPG Key 的產生法,

產生完以後要上傳到 Key Server 或者存在本機都是 OK 的,

最主要就是需要 Key 的存取路徑,

所以完成以後請把 GPG Key 的路徑記錄下來,

稍後會用到!

4.

接下來就是設定 Android Library 的部分了,

因為我是使用Android Studio

所以接下來的教學都以 Android Studio 為主。

請打開自己的 Project ,

這邊設定其實非常複雜,

好在有高人也寫好 Library - gradle-mvn-push (這居然也有 Libraray ),

非常方便套用,

Github 上有詳細的教學,

補充一些作者省略的設定

build.gradle
1
allprojects {
    version = VERSION_NAME
    group = GROUP

    repositories {
        mavenCentral()
    }
}
USER_HOME/.gradle/gradle.properties
1
NEXUS_USERNAME= sonatype 帳號
NEXUS_PASSWORD= sonatype 密碼
signing.keyId= GPG Key ID
signing.password= GPG Key Password
signing.secretKeyRingFile= GPG Key Path ,it's can be a local path or http.

之後就可以使用指令gradlew clean build uploadArchives上傳自己的專案了,

之後應該會收到已經 Release 的 EMail ,

收到以後,

請回到申請開通帳號的 Commit 上通知管理員,

管理員幫你開通以後,

之後就可以自由的使用該 Group ID 上傳專案了!

不需要再如此繁瑣的程序!

PS.關於申辦 sonatype 帳號的部分,可能會因為網站改版而異動,還請參考官方教學申請!

補充資料

  1. http://blog.moetang.net/archives/480
  2. https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide