轉載請標註原文地址: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