一步一步教你上傳本身的 Library 到 JCenter

咱們在Android開發過程當中必定會用到別人的庫,好比squareup公司的OKHttp:java

compile 'com.squareup.okhttp3:okhttp:3.4.1'

這樣咱們版本更新的時候只須要更改一下版本號就行,而不用去下載jar包,給開發帶來了極大的便利,但若是咱們本身想上傳lib供其餘開發者使用呢?那麼此教程會帶着你一步一步發佈本身的library。Let's go!android

肯定要上傳的Library

若是你有Library能夠忽略此步驟,沒有的話添加library。在Android Studio中選擇File->New->New Module,而後選擇一個Library,新建一個Library。這裏以新建DemoLibrary爲例子。(注意這裏的Library須要後面的Package的名字一致)。
新建一個Library
新建一個Librarygit

如今項目的結構以下圖,接下來就是添加必要的Jcenter的依賴,爲上傳作準備。
項目的結構github

*web

註冊帳號

首先去bintray官網註冊帳號,註冊完成後驗證郵箱,而後登錄進入首頁點擊View All,選擇Maven倉庫,新建一個Package,填寫Package名字(注意Package須要和你的Library的名字一致)api


注意點擊你的頭像->Your Profile->Edit->Api key,這個先記下來,後面上傳要用到。
Api keyoracle

新建一個Package
新建一個Package
新建一個Packageapp

*gradle

添加依賴

在整個工程的build.gradle文件中添加classpath 'com.novoda:bintray-release:0.3.4',注意是整個工程的build.gradleui

添加依賴

接着是在你本身Library(這裏是DemoLibrary)的build.gradle的文件中配置本身的信息,複製下面的腳本,改爲你本身的信息便可

apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'

publish {
    userOrg = 'lufficc' //你的用戶名
    groupId = 'com.lufficc' //你的惟一的groupId,對應com.squareup.okhttp3:okhttp:3.4.1中的com.squareup.okhttp3
    artifactId = 'DemoLibrary' //你的library的名字,對應com.squareup.okhttp3:okhttp:3.4.1中的okhttp
    publishVersion = '0.0.1' //版本號
    desc = 'This is a demo library to teach how to publish you own library to jcenter with android studio.'
    website = 'http://lufficc.com/' //建議填寫github地址,不過不影響,這裏作演示填的本身的網址
 
    bintrayUser = 'lufficc' //你的用戶名
    bintrayKey = 'Your api key' //在你的帳戶裏面查找
}

通過上面的配置,上傳成功後那麼別人引用你的library的代碼就爲compile 'com.lufficc:DemoLibrary:0.0.1'

你本身Library的build.gradle的文件中配置本身的信息

*

上傳

通過上面的配置,如今就能夠傳了,上傳以前記得Sync一下Project,而後打開命令行,輸入,回車:

gradlew clean build bintrayUpload -PdryRun=false

而後等待幾分鐘,期間會聯網下載依賴的庫,最後若是沒有問題,會顯示BUILD SUCCESSFUL信息,而後去官網查看剛纔建的Package,會發現多了你剛纔上傳的版本號。

BUILD SUCCESSFUL
上傳成功的Package

點進去能夠看到有三種引用方式:

可是到這裏還沒法讓別人也能引用,目前只是你本身的私人庫。下面是添加到Jcenter,很是簡單。

*

添加到Jcenter

在上面的頁面中點擊Add To JCenter,而後隨便填寫一下comments,點擊send,而後工做人員會審覈和,你只需等待幾個小時,而後會有站內消息提示你已經發布發到Jcenter,這樣別人也能夠引用你的Library,有沒有很自豪的感受!

*

更新版本號

這個很是簡單,當你的Libraryd代碼更改後,只須要更改一下上面的配置裏面的publishVersion,運行gradlew clean build bintrayUpload -PdryRun=false,就能夠更新版本號了。這樣,整個過程就結束了,遇到什麼問題歡迎評論提出或者私信我。

*

總結

其實上傳沒那麼複雜

  1. 註冊帳號

  2. 爲本身的Library項目添加依賴,配置信息

  3. 上傳,添加到Jcenter

  4. 更新版本號

*

常見問題

  1. 若是你的Java doc含有中文致使上傳失敗,能夠嘗試在lib的build.gradle添加以下代碼:

allprojects {
    tasks.withType(Javadoc) {
        options{
            encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}
  1. 本教程是基於插件novoda/bintray-release的,更多問題能夠查看issues或者查看Wiki

原文地址,歡迎訪問個人博客

相關文章
相關標籤/搜索