有時(shí)候我們使用其他的library包廓八,直接下載下來(lái)或者在build.gradle中添加依賴奉芦,使用起來(lái)非常方便,這個(gè)時(shí)候想自己做一個(gè)library包給別人用剧蹂,應(yīng)該怎么做呢声功?這個(gè)時(shí)候我們就需要用到j(luò)center。簡(jiǎn)單的來(lái)說(shuō)jcenter就是一個(gè)倉(cāng)庫(kù)宠叼,而bintray就是工具把我們寫好的代碼通過(guò)bintray上傳到j(luò)center先巴。用戶用的時(shí)候,就是通過(guò)gradle中的一個(gè)引用冒冬,去倉(cāng)庫(kù)下載代碼伸蚯。
首先注冊(cè)bintray,配置相關(guān)資料
首先我們要注冊(cè)一個(gè)bintray简烤,注冊(cè)網(wǎng)址https://bintray.com/signup/oss剂邮。直接點(diǎn)擊進(jìn)行注冊(cè),注冊(cè)的時(shí)候需要用到一個(gè)郵箱乐埠,這里郵箱不能使用qq, 163等郵箱抗斤,需要用到谷歌和outlook郵箱囚企,關(guān)于谷歌賬號(hào)和翻墻,相信對(duì)于我們開發(fā)者來(lái)說(shuō)esay了瑞眼。
注意:注冊(cè)網(wǎng)址不是https://bintray.com/login?后面這個(gè)地址注冊(cè)的是企業(yè)賬號(hào)龙宏,需要審核1一個(gè)月還有試用期,如果不小心注冊(cè)了企業(yè)賬號(hào)伤疙,也可以注銷再重新注冊(cè)個(gè)人賬號(hào)银酗。
下面我們就開始注冊(cè)bintray賬號(hào),如果有bintray直接略過(guò)這一步
賬號(hào)注冊(cè)好了之后徒像,請(qǐng)進(jìn)入:https://bintray.com/profile/edit ——
請(qǐng)點(diǎn)擊 API Key黍特,接下來(lái)
請(qǐng)點(diǎn)擊箭頭所指按鈕,對(duì) API Key 進(jìn)行復(fù)制锯蛀,當(dāng)然如果你想點(diǎn)擊 Show 看一看自己的 key 我也不攔著你灭衷。你可能會(huì)有一個(gè)疑問(wèn) API Key 是什么?理解起來(lái)很簡(jiǎn)單旁涤,既然 square 公司發(fā)布了 okhttp3 的 3.8.1 版本翔曲,那么我可不可以在前面所提到的 module 中的 gradle 中把 groupId 改成 okhttp3 的 groupId,然后上傳新的版本覆蓋它呢劈愚?當(dāng)然不可以瞳遍,一點(diǎn)是 groupId 是唯一的,另一點(diǎn)就是如果你想上傳 square 公司的 okhttp3 項(xiàng)目的話菌羽,一定要有它的 API Key掠械,所以 API Key 就類似一個(gè)賬號(hào)密碼的功能,來(lái)保障開發(fā)者項(xiàng)目的唯一性注祖。
個(gè)人中心界面,如下圖:
我們需要?jiǎng)?chuàng)建一個(gè)倉(cāng)庫(kù)猾蒂,來(lái)存放我們的開源項(xiàng)目,所以點(diǎn)擊Add Repository會(huì)跳轉(zhuǎn)到如下界面
請(qǐng)務(wù)必將 Name 寫成 maven氓轰,因?yàn)檫@樣可以幫你省去很多麻煩婚夫,然后 Type 務(wù)必選擇 Maven。創(chuàng)建好 repo 后署鸡,請(qǐng)進(jìn)入 repo 中案糙,然后:
請(qǐng)點(diǎn)擊 Add New Package,這里請(qǐng)注意靴庆,以后如果你有新的 library 需要上傳到 jcenter时捌,你不需要新建新的 repo,只需要進(jìn)入 Maven repo 后炉抒,點(diǎn)擊 Add New Package 即可奢讨,接下來(lái)就是填入相應(yīng)的信息并確認(rèn)即可。
點(diǎn)擊我們創(chuàng)建的倉(cāng)庫(kù):
點(diǎn)擊Add New Package:
需要注意的是Name需要和artiufactid一樣焰薄,否則會(huì)上傳失敗
完成你的 library
project 下 build.gradle
這是在 project 目錄下的 build.gradle 文件下添加以下依賴:
module 下 build.gradle
請(qǐng)?jiān)谀愕?module 下的 build.gradle 中添加如下依賴:
下面我們就開始上傳我們的開源項(xiàng)目了拿诸,打開android studio的Termainal界面
執(zhí)行如下代碼
gradlew clean build bintrayUpload -PbintrayUser=**** -PbintrayKey=********** -PdryRun=false
需要注意的是每一個(gè)-前面都需要加上空格
gradlew clean build bintrayUpload?
-PbintrayUser=jcenter用戶名
-PbintrayKey=apikey就是剛剛查看到的
-PdryRun=false 寫false代表要上傳
然后回車扒袖,即可,等到上傳亩码。如果按回車季率,無(wú)法執(zhí)行,那么你需要將你的gradle添加到系統(tǒng)的環(huán)境變量中描沟,再執(zhí)行此代碼就可以了飒泻,等待幾分鐘,保證你的電腦有網(wǎng)絡(luò)吏廉,當(dāng)你看到BUILD SUCCESS那么久上傳成功了泞遗,上傳成功之后,進(jìn)入到你的倉(cāng)庫(kù)中就可以看到你上傳的項(xiàng)目了
add to jcenter
理想情況下你的庫(kù)已經(jīng)上傳到 bintray 上了席覆,但是此時(shí)你的庫(kù)還不是公有的史辙,需要手動(dòng)將庫(kù)從你目前的私人 repo 同步到 jcenter 中,打開你的 repo 并進(jìn)入你的項(xiàng)目中佩伤,在如下的位置會(huì)有一個(gè) add to jcenter 的按鈕:
在點(diǎn)擊 add to jcenter 之后髓霞,就會(huì)進(jìn)入一個(gè)提交頁(yè)面,你可以在框框內(nèi)填上一些描述你庫(kù)功能的文字畦戒,然后就可以提交了:幾個(gè)小時(shí)審核之后,就可以正常調(diào)用了结序,最后就是棒棒的
注意:
(1) 在上傳的過(guò)程中提示失敗為:org.apache.http.conn.HttpHostConnectException: Connection to https://api.bintray.com refused
這個(gè)是網(wǎng)絡(luò)的問(wèn)題障斋,多重新上傳幾次,可能是要上傳10多次徐鹤。
(2)如果在bintray中找不到add to Jcenter垃环,是因?yàn)槟阕?cè)的是企業(yè)賬號(hào),可以取消重新注冊(cè)為個(gè)人賬號(hào)
最后歡迎使用本項(xiàng)目:compile 'com.apeng:EsayPermissions:1.0.0'? ?