相關術語說明
- Maven:全名Apache Maven,是Apache開發的一個軟件項目管理和項目自動構建工具
- Maven倉庫:存放Maven依賴的類庫的地方,可以是遠程服務器,也可以是本地磁盤
- JCenter:一個由 bintray.com維護的Maven倉庫
- Maven Central:一個由sonatype.org維護的Maven倉庫
- POM:Project Object Model,一個用來描述項目信息的xml文件,以xml節點的形式記錄項目依賴的類庫等信息
什麼是JitPack
JCenter和Maven Central雖然是最權威的兩大倉庫,但是審覈非常麻煩
而且在註冊和網速方面,對中國用戶來說可能會遇到諸多問題,不怕麻煩的可以自己去試下
JitPack是一個與GitHub綁定,提供代碼倉庫服務的平臺,用於將GitHub項目發佈到JitPack倉庫,JitPack登錄使用的也是GitHub帳號
JitPack的定位是私人倉庫,而不是公共倉庫,因此沒有審覈,GitHub項目只要能夠成功編譯,即可發佈,熟練者發佈一個新版本只需要1-2分鐘
創建GitHub項目
創建一個GitHub倉庫,上傳自己的模塊或項目代碼,不會GitHub的自己去學下,在此不多講
從長遠看,GitHub也是每個Coder必須掌握的技能,會的越早越好
發佈自己的項目,參與開源項目,清楚遠程項目的運作方式,對新手來說是一個質的提升
不要把眼光侷限於增刪改查和業務代碼上,早點開闊眼界,實力允許時儘早步入新世界
Git的學習,建議從GitHub網站和GitHub Desktop客戶端用起
Git的指令,在功能上基本是同GitHub,GitHub Desktop一致的
用熟GitHub常用操作,自然就明白那些Git指令有什麼用了
不建議一上手就去背Git指令,連幹什麼的都不清楚,既累效率又差
勤奮雖然是必備的素質,但是方法真的非常重要,好的方法能讓你學得很舒服,而不是學個代碼都好似在拼命
GitHub項目要求
JitPack會自動將GitHub項目代碼編譯成aar庫發佈,前提是代碼本身是可編譯的
要發佈的Android項目必須包含以下文件,且必須在本地能夠編譯成功
代碼成功上傳至GitHub後,要發佈一個Release版本,JitPack只會尋找Release版本
發佈GitHub項目到JitPack
登錄後JitPack,就能看到自己所有的GitHub項目,選擇要發佈的項目,JitPack會自動編譯可用的版本
圓圈表示正在編譯,紅色文檔表示編譯失敗,綠色文檔表示編譯成功
點擊文檔圖標可以查看編譯日誌,點擊右側按鈕可以查看項目發佈地址
點擊文檔圖片,通過裏面的內容我們可以發現,這和我們平時跑Android項目時的Gradle日誌基本是一致的
其實JitPack就是在遠程用Gradle幫我們把項目編譯成了aar,然後發佈到自己的倉庫中
引用發佈成功後的項目庫
從上圖我們已經看到了,如何在其它工程中使用我們發佈的遠程項目庫
首先,在工程根目錄下的build.gradle文件中添加JitPack的倉庫地址
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
然後,找到要使用遠程庫的模塊,在該模塊的gradle文件中添加以下代碼
dependencies {
api 'com.github.helloeasing:android-commons:1.0.5'
}
如果是第一次發佈自己的代碼的話,由於本地的代碼和遠程代碼是一樣的,有可能會發生緩存衝突
我們刪掉所有build文件夾和.gradle文件夾,然後通過File - Invalidate Cache and Restart重啓AndroidStudio即可
JitPack繁忙時,發佈的庫可能會晚點生效,等待幾分鐘後再使用即可
總結
第一次學習,由於陌生,可能會感覺比較麻煩,但是學會之後再回首就很簡單了
我們只需按照以下步驟來就可以了:
【提交代碼到GitHub】-【創建一個新的Release】-【JitPack自動編譯發佈】-【添加依賴地址】