發(fā)布新手的第一個(gè)開源庫(kù)-快速發(fā)布開源庫(kù)到JitPack
前言:
之前在JCenter上發(fā)布了個(gè)開源庫(kù),各種配置挺麻煩的,但折騰之后還是總算沒(méi)出錯(cuò)成功弄好了,有興趣的看一下順手點(diǎn)個(gè)star:多達(dá)288種動(dòng)態(tài)效果的側(cè)滑菜單開源庫(kù),滿足您項(xiàng)目的各種需求.但是準(zhǔn)備弄第二個(gè)的時(shí)候雖然上傳成功,后臺(tái)也能看到文件了,但是添加依賴之后只有資源文件沒(méi)有代碼,很是郁悶.問(wèn)了群里的大神之后大神推薦使用JitPack,研究了下確實(shí)挺簡(jiǎn)單的,就是配置的時(shí)候因?yàn)榘俣鹊降臇|西都是過(guò)時(shí)的,走了一點(diǎn)彎路,現(xiàn)在解決了順便做個(gè)記錄,防止再次踩坑.
關(guān)于將代碼弄成開源庫(kù)我這邊是這樣考慮的,如果做開發(fā)做個(gè)一段時(shí)間的同學(xué)都應(yīng)該會(huì)有自己的"快速開發(fā)框架",聽起來(lái)高大上但我的意思是指自己平時(shí)收集的代碼和寫的base等業(yè)務(wù)無(wú)關(guān)的代碼,如果你還沒(méi)有這樣的東西,那你應(yīng)該嘗試著來(lái)做一下.這樣在開發(fā)其他項(xiàng)目的時(shí)候以module引入將會(huì)減少很多簡(jiǎn)單代碼的書寫.另外一點(diǎn)考慮是以開源庫(kù)的形式使用module在構(gòu)建項(xiàng)目的時(shí)候是非??斓?而且如果以導(dǎo)module的形式那一旦有更改就得重新導(dǎo)一遍.所以將自己"積攢"的代碼做成一個(gè)庫(kù)是一個(gè)很明智的選擇,當(dāng)然如果你的代碼特別的好,分享給其他人用也是很好的.好了.廢話就這么多,下面開始正題:
JitPack官網(wǎng)地址:[JitPack](https://jitpack.io/)
下面就新建一個(gè)測(cè)試開源庫(kù)然后一步步演示如何發(fā)布并使用一個(gè)開源庫(kù)
1.首先用Android Studio新建一個(gè)工程,添加要發(fā)布的module
這里說(shuō)一點(diǎn)命名的問(wèn)題,一般來(lái)說(shuō)要分享一個(gè)module,會(huì)給module起個(gè)簡(jiǎn)潔的名字,然后管理module會(huì)起一個(gè)長(zhǎng)一點(diǎn)的名字,比如module叫Test,項(xiàng)目名稱叫TestDemo,這樣如果是上傳JCenter完全沒(méi)問(wèn)題,引用的時(shí)候還是引用的Test,但是在JitPack上面就會(huì)變成要引用TestDemo了,雖然內(nèi)容是只有Test的內(nèi)容,但是看著很奇葩啊,所以大家注意把項(xiàng)目名稱起好一點(diǎn),module隨意.
這一步結(jié)果如圖:項(xiàng)目名叫Test,存放開源庫(kù)內(nèi)容的module叫TestModule(AS顯示的時(shí)候是忽略大小寫的)
這里寫圖片描述
2.書寫開源庫(kù)內(nèi)容
這一步?jīng)]啥說(shuō)的,要開源什么就寫什么唄.我這邊就寫個(gè)BaseActivity一會(huì)測(cè)試依賴是否成功.
這一步結(jié)果如下:
這里寫圖片描述
3.在項(xiàng)目的build.gradle內(nèi)添加內(nèi)容
位置如下:
這里寫圖片描述
添加一句
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
注意:這一步是添加maven的構(gòu)建插件,后面的版本號(hào)要是最新的.因?yàn)槲抑熬W(wǎng)上搜的都是1.3,然后后面的步驟總是報(bào)錯(cuò)不成功,所以建議寫最新的,查看最新版本去它的Github上看:android-maven-gradle-plugin
原本內(nèi)容如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
添加后的內(nèi)容如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
添加之后會(huì)有提示讓你Sync,按提示同步一下
這里寫圖片描述
4.在要開源的module的build.gradle下添加內(nèi)容
位置如下:
這里寫圖片描述
內(nèi)容在頭部添加,原本的內(nèi)容是這樣的
apply plugin: 'com.android.library'
...
添加后的是這樣的
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
group='com.github.Brioal' //Brioal替換成你自己的Github用戶名
...
現(xiàn)在又會(huì)出現(xiàn)提示Sync,再次同步
如果沒(méi)有出錯(cuò)的話本地的配置基本已經(jīng)成功了
接下來(lái)要將這個(gè)項(xiàng)目放到Github上,這大家應(yīng)該都會(huì),但我還是演示下如何用AS快速發(fā)布
這里寫圖片描述
如果AS還沒(méi)配置過(guò)Github的話點(diǎn)擊這個(gè)會(huì)讓你設(shè)置Github帳號(hào),我這邊已經(jīng)用過(guò)所以直接驗(yàn)證密碼就行
這里寫圖片描述
注:這些操作的前提是Git已經(jīng)配置好了,如果Git沒(méi)有配置好這一步會(huì)出錯(cuò),建議百度先把Git搭建好
上傳成功之后會(huì)在Github上看到剛剛上傳的項(xiàng)目
這里寫圖片描述
5.給項(xiàng)目添加一個(gè)Tag
點(diǎn)擊如圖所示位置:
這里寫圖片描述
顯示沒(méi)有Tag,然后點(diǎn)擊新建
這里寫圖片描述
我這就隨便填個(gè)
這里寫圖片描述
點(diǎn)擊下方的Publish即可完成創(chuàng)建,成功之后界面如下
這里寫圖片描述
現(xiàn)在我們的開源庫(kù)已經(jīng)可以被使用了,這時(shí)候應(yīng)該獲取使用的方式并添加到readme中
打開JitPack主頁(yè),將你的項(xiàng)目的Gihub地址復(fù)制到這并點(diǎn)擊look up
這里寫圖片描述
如果前面沒(méi)有問(wèn)題的話現(xiàn)在可以看到我們之前寫的Tag號(hào),點(diǎn)擊get
這里寫圖片描述
會(huì)自動(dòng)跳轉(zhuǎn)到使用方式,如下:
這里寫圖片描述
步驟已經(jīng)很詳細(xì)了,現(xiàn)在我就來(lái)新建個(gè)項(xiàng)目測(cè)試一下
直接跳過(guò)新建項(xiàng)目
1.第一步在項(xiàng)目的build.gradle下配置
位置如下:
這里寫圖片描述
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
第二部,在app的build.gradle下添加如下
dependencies {
...
compile 'com.github.Brioal:Test:1.0'
...
}
會(huì)提示Sync,按提示同步一下
測(cè)試依賴是否成功
這里寫圖片描述