Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Studio多個module導入AAR庫

Android Studio多個module導入AAR庫

編輯:關於Android編程

介紹

有時候由於需要一些自定義之後的開源庫,無法使用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吧:)

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved