自己搭建android compile引用庫,把aar (library)上傳到bitbucket的maven倉庫(by 星空武哥)

     轉載請標註原文地址:http://blog.csdn.net/lsyz0021/article/details/52065404


      當我們使用android studio的開發的時候,我們可以很方面的使用compile " "命令很方便的使用別人的第三方aar庫

比如我們引用okhttp的時候就可以在gradle中:


dependencies {
    compile 'com.squareup.okhttp3:okhttp:3.3.1'
}

感覺好高大上,今天我們就來實現自己的library在gradle用compile引用,就以bitbucket的倉庫爲例,當然github也可以,這裏就不講了,看完這篇文章可以試試github。


1、首先我們創建一個project,裏面包含一個toolslibrary的庫和一個app的module,讓app依賴toolslibrary




app依賴ToolsLibrary




 我們在toolslibrary裏寫了一個Toast的工具類來測試效果,然後在app裏調用它




2、如果你的本地沒有ssh key需要先配置,不然會失敗,配置的方式請參考這篇博客:

Windows 7下Git SSH 創建Key的步驟:http://blog.csdn.net/lsyz0021/article/details/52064829


3、創建bitbucket的maven倉庫,我們這一步驟的目的:

(1)創建一個maven倉庫,

(2)主分支爲release

(3)上傳一個“README.md”的說明文件到該倉庫

 

   你不一定非要使用下面的步驟,你可以用自己的方式,但是你必須滿足上面的這三個條件,否則會失敗。


    3.1 、我們在bitbucket中創建一個bitbucket_maven倉庫




 3.2 、clone到本地,提示是一個空倉庫



 3.3 、進入bitbucket_maven這文件夾

cd bitbucket_maven

 3.4、新建一個md文件,內容隨便寫,命名爲“README.md”,必須是這個名字否則會失敗。複製到bitbucket_maven文件夾下

 然後git添加README.md文件

git add README.md
 

3.5、 commit ,這一步比較麻煩,如果你使用過linux下的vi或vim會很感覺簡單

git commit

輸入完命令後可能進入了一個你不會操作的界面,但不要着急,仔細看下面這段話。

     1、首先你按下 回車鍵 或者 “i” 就進入了編輯狀態,

     2、然後用鍵盤方向鍵將光標移到最下面,隨便輸入字母,我這裏輸入 init ,

     3、此時按下 “Esc” 鍵,然後再按住 “shift”+“冒號”鍵(L鍵右邊),你會發現在左下方有個“:”,

     4、然後再輸入 “w”、“q” 兩個字母,表示保存退出的意思。




不會那就仔細看截圖



 3.6 、新建一個release分支

git branch releases

 3.7、push到倉庫

git push origin releases



 3.8 、進入bitbucket可以看到我們上傳的README.md文件



 3.9 、如果你是其他方式完成的此步驟,你必須保證主分支是release,這裏我們可以查看設置一下




4、實現功能

    我們使用了GItAsMaven這個工具https://github.com/lsyz0021/GitAsMaven

    可以在你的toolslibrary中的build.gradle中添加下面的命令來引用,也可以直接將文件複製到toolslibrary根目錄下再引用它,這裏我選用的後者。

apply from: 'https://raw.githubusercontent.com/JeroenMols/GitAsMaven/master/publish-bitbucket.gradle'

4.1、直接clone下來將publish-bitbucket.gradle文件複製到了toolslibrary根目錄,在build.gradle引用他

apply from: 'publish-bitbucket.gradle'



 4.2、在toolslibrary的根目錄創建gradle.properties文件,複製下面的文件,粘貼保存。這一步一定要仔細,不然很容易失敗,


注意:等號後面不能有空格

ARTIFACT_PACKAGE=<包名>
ARTIFACT_NAME=<librar名字>
ARTIFACT_VERSION=<版本號>
ARTIFACT_PACKAGING=aar
COMPANY=<賬戶名/組名>
REPOSITORY_NAME=<倉庫名>

 我的配置

 4.3 、複製下面的配置到你的project的gradle.properties文件內

USERNAME=<bitbucket賬號>
PASSWORD=<bitbucket密碼>



 5 、最後一步,執行運行命令

    在terminal中輸入下面的命令然後回車就開始執行(在第一次執行命令前,一定要先RebuildProject一次

gradlew uploadArchives
 

很幸運一次就成功了





6 、問題總結

 6.1 、看結果,雖然提示401 但是還是沒問題,提示的錯誤是因爲不支持中文的javadoc,後面我會給出解決方法




 解決“編碼GBK的不可映射字符”的錯誤,我們在publish-bitbucket.gradle修改如下




 然後重新執行命令(注意:這裏要再次執行必須修改版本號(ARTIFACT_VERSION=1.0.1),不然會失敗)

gradlew uploadArchives

    可以看到1.0.1的版本上傳成功了,也沒有報 “編碼GBK的不可映射字符的錯誤”



 

  bitbucket倉庫的文件



 6.2 、如果在上傳你的library時還是失敗,可以試試此方法。




7、測試引用的結果

     這裏我又新建了一個project,然後配置三個地方就可以了


  7.1、設置賬戶和密碼

  

 

 7.2、設置依賴地址,在你新建的project的build.gradle中配置

maven {
     url "https://api.bitbucket.org/1.0/repositories/用戶名或團隊名/倉庫名/raw/releases"       
     credentials {
             username USERNAME
             password PASSWORD
     }
}



 

7.3、引用依賴,最關鍵的一部了

引用格式

compile 'ARTIFACT_PACKAGE:ARTIFACT_NAME:ARTIFACT_VERSION' //這是引用的格式

compile '包名:library名:版本號' 



7.4、調用ToastUtils這個類

 可以看到可以調用了,說明成功了



參考文章:http://www.jianshu.com/p/72996bc89b7c#

參考文章:http://jeroenmols.com/blog/2016/02/05/wagongit/?utm_source=tuicool&utm_medium=referral




發佈了80 篇原創文章 · 獲贊 156 · 訪問量 66萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章