andorid開源專案如何提交到 jcenter,史上最詳細圖文講解
有時候我們使用其他的library包,直接下載下來或者在build.gradle中新增依賴,使用起來非常方便,這個時候想自己做一個library包給別人用,應該怎麼做呢?這個時候我們就需要用到jcenter。簡單的來說jcenter就是一個倉庫,而bintray就是工具把我們寫好的程式碼通過bintray上傳到jcenter。使用者用的時候,就是通過gradle中的一個引用,去倉庫下載程式碼。
首先註冊bintray,配置相關資料
首先我們要註冊一個bintray,註冊網址 ofollow,noindex">https://bintray.com/signup/oss 。直接點選進行註冊,註冊的時候需要用到一個郵箱,這裡郵箱不能使用qq, 163等郵箱,需要用到谷歌和outlook郵箱,關於谷歌賬號和翻牆,相信對於我們開發者來說esay了。
注意:註冊網址不是 https://bintray.com/login 後面這個地址註冊的是企業賬號,需要稽核1一個月還有試用期,如果不小心註冊了企業賬號,也可以登出再重新註冊個人賬號。
下面我們就開始註冊bintray賬號,如果有bintray直接略過這一步

賬號註冊好了之後,請進入:https://bintray.com/profile/edit ——

請點選 API Key,接下來

請點選箭頭所指按鈕,對 API Key 進行復制,當然如果你想點選 Show 看一看自己的 key 我也不攔著你。你可能會有一個疑問 API Key 是什麼?理解起來很簡單,既然 square 公司釋出了 okhttp3 的 3.8.1 版本,那麼我可不可以在前面所提到的 module 中的 gradle 中把 groupId 改成 okhttp3 的 groupId,然後上傳新的版本覆蓋它呢?當然不可以,一點是 groupId 是唯一的,另一點就是如果你想上傳 square 公司的 okhttp3 專案的話,一定要有它的 API Key,所以 API Key 就類似一個賬號密碼的功能,來保障開發者專案的唯一性。
個人中心介面,如下圖:

我們需要建立一個倉庫,來存放我們的開源專案,所以點選Add Repository會跳轉到如下介面

請務必將 Name 寫成 maven,因為這樣可以幫你省去很多麻煩,然後 Type 務必選擇 Maven。建立好 repo 後,請進入 repo 中,然後:
請點選 Add New Package,這裡請注意,以後如果你有新的 library 需要上傳到 jcenter,你不需要新建新的 repo,只需要進入 Maven repo 後,點選 Add New Package 即可,接下來就是填入相應的資訊並確認即可。
點選我們建立的倉庫:

點選Add New Package:

需要注意的是Name需要和artiufactid一樣,否則會上傳失敗
完成你的 library
project 下 build.gradle
這是在 project 目錄下的 build.gradle 檔案下新增以下依賴:

module 下 build.gradle
請在你的 module 下的 build.gradle 中新增如下依賴:

下面我們就開始上傳我們的開源專案了,開啟android studio的Termainal介面
執行如下程式碼
gradlew clean build bintrayUpload -PbintrayUser=**** -PbintrayKey=********** -PdryRun=false
需要注意的是每一個-前面都需要加上空格
gradlew clean build bintrayUpload
-PbintrayUser=jcenter使用者名稱
-PbintrayKey=apikey就是剛剛檢視到的
-PdryRun=false 寫false代表要上傳
然後回車,即可,等到上傳。如果按回車,無法執行,那麼你需要將你的gradle新增到系統的環境變數中,再執行此程式碼就可以了,等待幾分鐘,保證你的電腦有網路,當你看到BUILD SUCCESS那麼久上傳成功了,上傳成功之後,進入到你的倉庫中就可以看到你上傳的專案了
add to jcenter
理想情況下你的庫已經上傳到 bintray 上了,但是此時你的庫還不是公有的,需要手動將庫從你目前的私人 repo 同步到 jcenter 中,開啟你的 repo 並進入你的專案中,在如下的位置會有一個 add to jcenter 的按鈕:
在點選 add to jcenter 之後,就會進入一個提交頁面,你可以在框框內填上一些描述你庫功能的文字,然後就可以提交了:幾個小時稽核之後,就可以正常呼叫了,最後就是棒棒的
注意:
(1) 在上傳的過程中提示失敗為:org.apache.http.conn.HttpHostConnectException: Connection to https://api.bintray.com refused
這個是網路的問題,多重新上傳幾次,可能是要上傳10多次。
(2)如果在bintray中找不到add to Jcenter,是因為你註冊的是企業賬號,可以取消重新註冊為個人賬號