Maven 生成本地 aar及使用本地 aar 的方法。

記錄一下 Maven 生成本地 aar及使用本地 aar 的方法。

生成 aar

用 AndroidStudio 建立一個(gè)標(biāo)準(zhǔn) Android 項(xiàng)目


屏幕快照 2019-04-22 上午9.33.19.png

在些基礎(chǔ)上,右鍵新建一個(gè) module,里面新建一個(gè) 類LibraryTest

屏幕快照 2019-04-22 上午9.33.31.png

其后在 testlibrarymodule 的 build.gradle 文件中添加代碼

apply plugin: "maven"
version = new Date().format("yyyyMMddHHmm")

uploadArchives { 
    repositories {
        mavenDeployer {
            repository(url: uri('../repo')) //定義本地maven倉(cāng)庫(kù)的地址
            pom.version = version
            pom.artifactId = "testlibrary"
            pom.groupId = "com.yuan.testlibrary"
            pom.name = "testlibrary"
            pom.packaging = 'aar'
        }
    }
}

簡(jiǎn)單解釋一下apply plugin: "maven"是把 maven 插件引入,version = new Date().format("yyyyMMddHHmm")版本號(hào),這里簡(jiǎn)單寫成年月日時(shí)分的格式,剩下的是標(biāo)準(zhǔn)寫法,如若不太熟悉參考maven。repository(url: uri('../repo')) //定義本地maven倉(cāng)庫(kù)的地址這句是定義倉(cāng)庫(kù)地址,這里 為了簡(jiǎn)單,只直接定義到了跟module 同層的目錄(遠(yuǎn)程上傳,這里就需要改成遠(yuǎn)程的地址)。

添加完成后,打開(kāi)右側(cè) gradle,找到testlibrary,點(diǎn)擊upload目錄,發(fā)現(xiàn)了我們新增加的這個(gè) task

屏幕快照 2019-04-22 上午9.53.41.png

雙擊運(yùn)行或者通過(guò) gradle 命令gradle uploadArchives 運(yùn)行,第一次可能會(huì)稍微慢一點(diǎn),因?yàn)闀?huì)下載 maven 相關(guān)依賴,等運(yùn)行結(jié)束后,在項(xiàng)目中就會(huì)發(fā)現(xiàn)
屏幕快照 2019-04-22 上午10.03.04.png

這樣就完成了本地倉(cāng)庫(kù) aar 包的上傳。

使用 aar

在需要使用的module(這里以 app主項(xiàng)目為例),在 app的 build.gradle 文件中添加使用依賴
implementation 'com.yuan.testlibrary:testlibrary:201904221007',點(diǎn)擊sync Now

屏幕快照 2019-04-22 上午10.11.41.png

會(huì)發(fā)現(xiàn)如下錯(cuò)誤:
屏幕快照 2019-04-22 上午10.12.35.png

這個(gè)錯(cuò)誤的出現(xiàn),是由于我們沒(méi)有添加maven 的地址,它是找不到,由于我們現(xiàn)在是打在本地倉(cāng)庫(kù)(和 module 同級(jí)的目錄),所以在 project 的 build.gradle 文件中添加如下代碼

maven{
         url "../repo"
}

如圖(如若出現(xiàn)引用找不到的現(xiàn)象 把url 的地址改成絕對(duì)路徑

屏幕快照 2019-04-24 上午11.19.45.png

這時(shí)候再同步一下,然后回到app 下的 MainActivity 類,就可以直接引用 aar
里面的代碼了。

屏幕快照 2019-04-24 上午11.22.05.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 說(shuō)明 本文主要介紹和Gradle關(guān)系密切、相對(duì)不容易理解的配置,偏重概念介紹。部分內(nèi)容是Android特有的(例如...
    搬磚的小明閱讀 16,173評(píng)論 1 62
  • Gradle配置最佳實(shí)踐 本文會(huì)不定期更新,推薦watch下項(xiàng)目。如果喜歡請(qǐng)star,如果覺(jué)得有紕漏請(qǐng)?zhí)峤籭ssu...
    Solang閱讀 1,769評(píng)論 0 4
  • Gradle 是一款構(gòu)建系統(tǒng)工具,它的 DSL 基于 Groovy 實(shí)現(xiàn)。Gradle 構(gòu)建的大部分功能都是通過(guò)插...
    任教主來(lái)也閱讀 3,256評(píng)論 3 6
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 https://blog.csdn.net/zhaoyanj...
    勤奮的pangdunhu閱讀 2,231評(píng)論 0 1
  • 下雪總給人好心情!
    李修竹閱讀 179評(píng)論 0 0

友情鏈接更多精彩內(nèi)容