前言
以前簡單說了下Maven的搭建,如今跟你們說一下如何將本身的aar傳到咱們新搭建的maven倉庫裏面,接下來咱們就從最基本的新建一個library開始講述整個流程,話很少說,讓咱們把愉快的開始吧。
準備工做
首先,開始以前,你須要新建一個library,打開你的Android studio ,選擇File -> New -> New Module:
接下來選擇Android Library:
而後寫上你的須要開源的代碼,以後即是重點了-配置項目
本地AAR
項目配置分兩種,一種是直接打出本地的aar包並指定路徑,另一種是將打出的aar包上傳到咱們搭建的本地的maven倉庫裏面
打出aar到本地
你須要在你的library的build.gradle裏面去配置這樣的代碼
切記,必定不要忘記添加:apply plugin: 'maven'
其中各參數表明的意義以下:
repository:表明本地的相對路徑,這裏我寫的意思是當前module的上一層目錄新建一個名爲repository的文件夾,生成的aar會放到這個路徑下面
pom.groupId:表明惟一標識(能夠任意,不過通常都是模塊包名)
pom.artifactId: 項目名稱(能夠任意,不過通常爲類庫模塊名稱)
pom.version:庫的版本號
而後我點擊右上角的Sync now按鈕同步一下代碼,以後你會在你的右側的gradle菜單裏面的你對應的module下面的Task下面出現了一個名爲upload的文件夾,下面會有一個名爲uploadArchives的task:
以後只要雙擊執行一下uploadArchives這個任務就會在對應的目錄下生成咱們須要的aar了,具體以下截圖:
其中紅色標註的就是咱們打出來的aar文件
接下來就是在項目中引用使用咱們打出來的aar了
使用本地AAR
使用的時候須要在咱們使用的module的build.gradle裏面咱們aar的路徑:
通常是文件的絕對路徑,只需引用到咱們在生成aar的時候傳遞的那層路徑就行,在這裏便是repository,而後你就能夠像正常的引用jcenter中的庫同樣引用你打出來的aar庫了:
引用的各段參數形式是以下:
implementation 'groupId:artifactId:version'
對照關係以下圖:
本地AAR引用結果
至此,引用結束,讓咱們來看下一下引用的效果吧:
提交到本地Maven倉庫AAR
剛纔講述瞭如何配置項目打出本地的aar,而且如何引用本地的aar,以及個引用參數的含義,接下來說述一下如何配置項目將打出的aar上傳到aar倉庫裏面
上傳配置
各參數含義與本地打包aar基本一致,可是多了一個配置maven用戶名密碼的選項authentication,而url也替換了了的maven的地址,咱們替換的maven的地址是這樣的:http://localhost:8081/repository/maven-releases/,其中localhost:8081標識是服務器地址,maven-releases倉庫分組的名稱。
最後再雙擊uploadArchives這個task就能夠上傳咱們的庫到maven倉庫了,那咱們趕忙去看看maven倉庫裏咱們的庫是什麼樣子吧;
由於咱們是上傳到maven-release分組下面了,因此點擊release就能夠看到咱們的上傳的庫的版本列表:
如截圖紅框所示,這就是其中一個版本的全部文件,包括aar文件、aar的md5文件、aar的簽名文件、pom文件、pom文件的md5文件、pom文件的簽名文件等
使用Maven AAR
與引用本地aar的形式同樣,第一步須要在使用方的module下面的build.gradle文件裏修改maven的url爲咱們的maven倉庫裏庫的地址:
也便是咱們上傳本地的庫倒排maven倉庫時候填寫的url地址,具體引用庫的方式和引用本地的aar文件同樣:
Maven倉庫引用結果
由於代碼同樣,固然運行效果也是同樣的:
完結
至此,咱們講了兩種封裝開源庫的方式,一種是不太友好的本地aar的形式,第二種是上傳到maven私服倉庫裏面,這樣一整個項目組或者公司內部就能夠用這個庫了,減小代碼開發量,方便維護。
以後還會將如何將本身的開源庫上傳到谷歌的jcenter倉庫中,讓更多人使用你的開源庫,請持續關注,敬請期待哈
如要轉載,請註明出處,謝謝!
歡迎關注個人博客,地址以下:
歡迎你們掃描關注個人微信公衆號,我會按期發佈一些博客,分享一些知識點