android studio library 模塊中正確引用aar的實(shí)例講解
今天對(duì)接一個(gè)??当O(jiān)控的sdk,其中sdk 是以aar的形式提供的,并且我需要用到此aar的模塊是個(gè)library。所以按照正常的在application模塊中引入aar的方式一致報(bào)錯(cuò),首先提示要關(guān)閉offline ,然后關(guān)閉了還是會(huì)提示錯(cuò)誤。想了很久不明白。最終通過(guò)公司前輩的指導(dǎo),正確的引入了aar。
1.除了和正常的aar的引入方式外,我們還需要在application所在模塊的build.gradle文件中加入如下一段:
repositories { flatDir { dirs 'libs', '../模塊名/libs' } }
在application的build中也要加入文件的指向,可加入各個(gè)模塊,其中用逗號(hào)隔開(kāi),模塊名就是你的modlename。
然后在你自己模塊中還要正確引入:
repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile(name: 'aar名字', ext: 'aar') }
到此aar的引入就完成了。
———————————— 更新于 2018-01-03 ————————————
最好使用遠(yuǎn)程依賴的方式,這種方式可以有效解決,多層級(jí)依賴,導(dǎo)致相同的庫(kù)文件重復(fù)的問(wèn)題。
遠(yuǎn)程依賴的規(guī)則是不傳遞依賴,這樣本模塊依賴的再引用的模塊是不可見(jiàn)的:
模塊A,B,C
如果B依賴C并且是遠(yuǎn)程依賴,那么A依賴B的時(shí)候,C對(duì)于A是不可見(jiàn)的。
如果我們需要A中使用C,那么可以在A中依賴C。
另一種解決方式:
那么我們?cè)趌ibrary中依賴aar的時(shí)候就可以考略將此aar上傳到maven倉(cāng)庫(kù)或者其他的遠(yuǎn)程地址,這樣在依賴的時(shí)候就不會(huì)出現(xiàn)編譯不通過(guò)或者運(yùn)行不了的問(wèn)題。
相關(guān)文章
Android?kotlin?跳轉(zhuǎn)手機(jī)熱點(diǎn)開(kāi)關(guān)頁(yè)面和判斷熱點(diǎn)是否打開(kāi)(親測(cè)可用)
跳轉(zhuǎn)手機(jī)熱點(diǎn)的頁(yè)面肯定是用intent,重點(diǎn)是action不知道是什么,網(wǎng)上最常見(jiàn)的就是Settings.ACTION_WIFI_SETTINGS 跳轉(zhuǎn)wifi設(shè)置頁(yè)面,本文介紹Android?kotlin?跳轉(zhuǎn)手機(jī)熱點(diǎn)開(kāi)關(guān)頁(yè)面和判斷熱點(diǎn)是否打開(kāi),感興趣的朋友一起看看吧2023-08-08Android實(shí)現(xiàn)簡(jiǎn)單的下拉阻尼效應(yīng)示例代碼
下面小編就為大家分享一篇Android實(shí)現(xiàn)簡(jiǎn)單的下拉阻尼效應(yīng)示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01android 監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)的變化及實(shí)戰(zhàn)的示例代碼
本篇文章主要介紹了android 監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)的變化及實(shí)戰(zhàn)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01SQLSERVER實(shí)現(xiàn)更改表名,更改列名,更改約束代碼
這篇文章主要介紹了SQLSERVER實(shí)現(xiàn)更改表名,更改列名,更改約束代碼的相關(guān)資料,需要的朋友可以參考下2016-03-03Android開(kāi)發(fā)之開(kāi)發(fā)者頭條APP(三)實(shí)現(xiàn)首頁(yè)
這篇文章主要介紹了Android開(kāi)發(fā)之開(kāi)發(fā)者頭條APP(三)實(shí)現(xiàn)首頁(yè)的相關(guān)資料,需要的朋友可以參考下2016-04-04跨平臺(tái)移動(dòng)WEB應(yīng)用開(kāi)發(fā)框架iMAG入門教程
這篇文章主要介紹了跨平臺(tái)移動(dòng)WEB應(yīng)用開(kāi)發(fā)框架iMAG入門教程,iMAG最大的特點(diǎn)是生成各移動(dòng)平臺(tái)的原生代碼,需要的朋友可以參考下2014-07-07Android編程之?dāng)?shù)據(jù)庫(kù)Sql編程實(shí)例分析
這篇文章主要介紹了Android編程之?dāng)?shù)據(jù)庫(kù)Sql編程,實(shí)例分析了Android操作Sqlite數(shù)據(jù)庫(kù)的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04android預(yù)置默認(rèn)的語(yǔ)音信箱號(hào)碼具體實(shí)現(xiàn)
在此介紹以xml的方式預(yù)置VM number的方法,以及如何允許用戶去修改并能夠記住用戶的選擇2013-06-06利用Android實(shí)現(xiàn)比較炫酷的自定義View
自定義View、多線程、網(wǎng)絡(luò),被認(rèn)為是Android開(kāi)發(fā)者必須牢固掌握的最基礎(chǔ)的三大基本功,這篇文章主要給大家介紹了關(guān)于如何利用Android實(shí)現(xiàn)比較炫酷的自定義View的相關(guān)資料,需要的朋友可以參考下2021-07-07Android自動(dòng)編輯文本框(AutoCompleteTextView)使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android自動(dòng)編輯文本框AutoCompleteTextView的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02