Android Studio多個module匯入AAR庫

來源:互聯網
上載者:User

標籤:android   android studio   gradle   aar   

介紹

有時候由於需要一些自訂之後的開源庫,無法使用jCenter裡面的官方庫,又懶得自己搭建Maven倉庫,所以我們想要自己在項目裡面直接匯入本地的AAR庫。

通用方法和問題

網上通用的AAR匯入Gradle的方法很簡單:

repositories {      flatDir {          dirs ‘libs‘      }  }  dependencies {    compile name: ‘libname‘, ext: ‘aar‘ }

如果我們只有一個APP的情況下,這個方法就足以了,但是如果項目比較複雜,有多個Module都需要這個相同的aar庫,問題就來了。下面的項目中,我們有一個Application:app,兩個module:framework,custwidgets。並且兩個module都需要依賴Fresco的aar庫。我們把aar放到framework裡面,app和custwidgets都依賴於framework。現在編譯會報錯:

原因是編譯兩個module依賴了framework,但是在另外兩個目錄使用無法找到libs這個目錄(由於寫的相對路徑,對於app,搜尋的目錄就是app/libs/),把AAR引進來。目前Gradle引入AAR還比較弱,無法像jar一樣直接就依賴進去了。

最終方案

由於不想每一個module都放一份aar。所以,我們只能在flatDir下功夫。方案1是使用絕對路徑,這樣很不靈活,無法根本性的解決問題,後來突然靈機一動,我目錄使用”../framework/libs”不就可以找到這個路徑了麼:)。試了一下,果真work了。附上樣本工程:http://download.csdn.net/detail/yutao52shi/9052009。供給大家參考一下。
現在開始Have fun with AAR吧:)

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Android Studio多個module匯入AAR庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.