手把手圖文并茂教你發布Android開源庫

經常逛github,總看到別人的readme中寫著compile ‘com.xxx:1.0.xxx’,這個已經越來越普及,個人,團人,公司都在用,雖然做android這么長時間了,但是發現自己好像不會,走了好多彎路,幾經折騰,這沒什么技術含量的玩意,還挺費時的,所以,下定決心,發布一個開源庫出來,也就是前面文章中介紹的SuperIndicator類庫之實現 《仿愛奇藝視頻,騰訊視頻,搜狐視頻首頁推薦位輪播圖介紹》 。Github: https://github.com/hejunlin2013/SuperIndicator

今天的Agenda如下:

  • 主工程下的的build.gradle配置Maven,jcenter服務
    • 創建一個類module
    • 上傳類庫到jcenter倉庫 注冊/bintray賬號
    • 添加package
    • 添加bintray插件
    • 編譯類庫
    • 配置local.properties添加Bintray認證
  • Android Studio終端使用命令上傳
  • Bintray中同步到Jcenter,發送打包請求
  • 升級類庫,再打包過程

背景

AndroidStudio是從Maven Repository 下載類庫的。基本上有jcenter和Maven Central這兩個服務器用于下載Android的類庫。 在工程(注意是主工程下的)中的build.gradle有一段腳本如下:

1.png

了解到Google studio團隊最先使用MavenCentral作為遠程倉庫下載我們用的編譯類庫的。 MavenCentral有一些問題。首先是對于開發者體驗不好,種種原因Google studio團隊遠程倉庫換成jcenter。 jcenter有一個打包工廠,每天特別多的類庫從此誕生,用于github上各種項目中。 像我們平時在app目錄下build.gradle中的dependencies中經常看到的:

2.png

這是什么意思呢?它實際上相當于

3.png

在這句代碼里面的GROUP_ID是com.hejunlin.superindicatorlibray,ARTIFACT_ID是superindicatorlibray(類庫名),VERSION是1.0.3。

  • 創建一個類module

    首先在Android Studio中點擊File菜單,選擇New->New Module,然后在彈出視圖中選擇Android Library,點擊Next后填寫庫的名稱。

    這里寫圖片描述

    創建完新的library后就可以寫公用部分的類代碼了,我這里是寫superindicatorlibray,寫好后,肯定還得有一個sample之類的測試這個類庫,我用的是默認app工程,里面有Activity之類的,接下來就在app工程引用這個類庫,在app下的build.gradle中添加依賴:

    這里寫圖片描述

    compile project(‘:superindicatorlibray’) //冒號后是你的類庫的名字 本地充分測試好后,接著你就上要開始上傳jcenter倉庫了。

    本文出自逆流的魚,文章鏈接: http://blog.csdn.net/hejjunlin/article/details/52452220

  • 上傳類庫到jcenter倉庫

    那么如何上傳你的類庫到jcenter倉庫?

    這里寫圖片描述

    注冊Bintray用戶,Bintray是一個可以托管Android庫的平臺,JCenter則由Bintray進行維護的。打開 https://bintray.com/ ,進行注冊,然后登錄。

這里寫圖片描述

點擊add,然后如圖填寫:

這里寫圖片描述

填完后,如出現前面圖中那樣,有一個maven的倉庫,接下來要在這里添加package,

這里寫圖片描述

點擊Add New Package,如圖:

這里寫圖片描述

現在一個空倉庫和一個package已經創建好了,接下來要在studio,寫腳本配置,上傳類庫

  • 添加bintray插件

在module中類庫下build.gradle中添加如下腳本

4.png

Bintray在上傳庫時需要一個pom文件,而這個文件可以讓Maven插件自動生成,但你還是需要給出groupId和version的值,將下面這兩行代碼添加到庫module的build.gradle中。

5.png

編譯類庫 寫過ant腳本的話,知道,ant中都是一個個target,而gadle中是task,所以接下來寫幾個task,對應分別分別生成Jar,Javadoc和JavadocsJar,將下面三個task代碼添加到庫module的build.gradle文件即可。

6.png

將本地編譯過的類庫及源碼及doc文件上傳到Maven倉庫中package中,需要將task添加到一個archive中,只需要向庫module下的build.gradle中添加如下代碼:

7.png

本文出自逆流的魚,文章鏈接: http://blog.csdn.net/hejjunlin/article/details/52452220

  • 配置local.properties添加Bintray認證

    接下來還要配置local.properties添加Bintray認證,git提交時,也會讓你填用戶名和密碼,那jcenter,如何配置呢? 我們須要本地local.properties文件下配置,如果沒有沒有就創建一個,放在主工程目錄下:

    這里寫圖片描述

    內容如下:

8.png

接下來說下這個apikey在哪?

這里寫圖片描述

這里寫圖片描述

輸入密碼,就可以得到這個key。接下來回到庫module下的build.gradle中添加如下腳本:

10.png

Android Studio終端使用命令上傳

最后我們在Android studio中Terminal命令行中,執行:

這里寫圖片描述

gradlew install

如果順利的話,過幾分鐘就會出現

這里寫圖片描述

恭喜你,編譯成功了,去類module看,多了個build的目錄,這里東西一會要上傳jcenter:

這里寫圖片描述

接下來需要把build成功的文件upload到bintray上,同樣在Terminal命令行,執行如下命令:

gradlew bintrayUpload

順利的話,也會出現,和上面的圖一樣的BUILD SUCCESSFUL

Bintray中同步到Jcenter,發送打包請求

這時檢查你在bintray創建的package,你會看到對應的版本號

這里寫圖片描述

點擊進去,如圖,首次沒有打包時,這里是一個add to jcenter的字樣,我這里是打了包的。就變成了下圖:

這里寫圖片描述

點擊那個箭頭的“add to jcenter”,接下來會跳到一個Request to include package GradientUI in jcenter的頁面,

這里寫圖片描述

填下你的groupId,直接send,就會發起一個打包版本的請求, 過幾個小時,通過jcenter那邊的審核就會在bintray上收到jcenter那邊的同意消息提醒。 恭喜你,你的類庫上傳到jcenter成功了!大家都可以用你的類庫了。

升級類庫,再打包過程

我們上傳完成后,如發現類庫中的一個bug,這就涉及到更新問題,那么怎么更新呢? 一句話,修改代碼后,改本地build.gradle的版本號,按上面的操作,執行gradlew install,gradlew bintrayUpload,到bintray上點擊“ Stage snapshots on oss.jfrog.org”同樣發送一個請求,不用幾分鐘,就可以用了,升級,不像首次提交那樣,非常快。馬上就你可以更新github上的引用版本號,瞬間心情爽爽噠。

這里寫圖片描述

 

 

 

來自:http://www.jianshu.com/p/f4ee4dc56b41

 

 本文由用戶 ybla5169 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!