釋出自己的Android開源庫到JCenter
簡單記錄一下問題
註冊Bintray賬號
註冊很簡單(網頁打不開的話應該是需要 ke xue shang wang),但是有一點比較坑,註冊的時候需要填寫郵箱,我當時註冊時,QQ郵箱和網易郵箱都試過了,發現這兩種郵箱都不能用於註冊,其他的國內郵箱沒試過,建議直接用Google郵箱。
建庫
註冊完成後,進入主頁點選 Add New Repository 建立一個新的倉庫,如下然後點選 Create 即可
用到的外掛
使用
用法很簡單
修改要釋出庫的build.gradle檔案,主要新增三處程式碼
- 在build.gradle檔案最上面新增如下程式碼(主要是要滿足 buildscript塊提到plugins塊之前,否則可能會出現如下問題 ):
[ERROR] all buildscript {} blocks must appear before any plugins {} blocks in the script
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.panpf.bintray-publish:bintray-publish:1.0.0'
}
}
- 在build.gradle檔案底部新增如下程式碼,引入外掛依賴:
apply plugin: 'com.github.panpf.bintray-publish'
- 在上面的程式碼下面繼續新增如下程式碼(根據自己實際情況填寫,下面只是外掛示例):
publish { userOrg = 'panpf' groupId = 'com.github.pnaf.bintray-publish' artifactId = 'bintray-publish' publishVersion = '1.0.0' desc = 'Oh hi, this is a nice description for a project, right?' website = 'https://github.com/panpf/bintray-publish' repoName = '你在Bintray建立地倉庫名' }
userOrg: 填入註冊的Bintray使用者名稱即可
groupId: 用於作為組織的唯一標識,通常填入公司的倒排域名,這裡我們自己做著玩,填包名就行
artifactId: 這個直接填庫的名就行,要注意同一個groupId下不會存在兩個相同的artifactId。
publishVersion: 表示當前開源庫的版本號
desc: 對這個庫的描述
website: 對應的github上庫的主頁地址
repoName: 這個非常重要,用上面這個外掛釋出的話,預設幫我們設定釋出到庫名為maven的庫,但我們Bintray帳號中卻沒有建立名為maven的倉庫,因此這裡需要修改成自己建的庫的名字
上面如果沒設定repoName問題的話會出現如下ERROR: 可以看到提示是名為maven的倉庫找不到
HTTP/1.1 404 Not Found [message:Repo ‘maven‘ was not found]
釋出庫
我的是windows系統,在Androidstudio的控制檯用如下命令釋出:
BINTRAY_USERNAME: 註冊的Bintray使用者名稱 BINTRAY_KEY: 自己的Bintray Api Key
gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
//linux:
./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
下面2個圖簡單演示了怎麼看自己的 bintray API key:
Add to Jcenter
上傳成功後,在bintray的網頁上就會看到我們建立的Repository下面多了一個Package,就是我們上傳的這個:
點選這個package,進入我們上傳庫的詳情頁面,點選右上角的 Actions 選單,點選 Add to Jcenter 選項,彈出的彈窗只需要填寫一下對庫的描述即可,然後等待Bintray稽核即可:
稽核一般幾個小時就可以通過,服務效率很高的,通過後bintray賬號會收到訊息,你繫結的郵件也會有通知:
然後就可以像引用其他三方庫那樣 引用我們自己的庫了,在自己庫的詳情頁,有對應的引用方式: