完美解決Direct local .aar file dependencies are not supported when building an AAR.


最近gradle升級了,然后編譯就出現了這個錯誤

  Direct local .aar file dependencies are not supported when building an AAR.

然后求助了百度,給出了下面解決方案

在module的build.gradle文件中增加如下內容:

android {
      ........
   repositories {
      flatDir {
            dirs 'libs'
        }
   }
}

dependencies {
     ....
    implementation(name: 'BaiduLBS_AndroidSDK_Lib', ext: 'aar')
}

這樣子確實可以了,其實就是將libs作為本地倉庫,然后引用參考下的庫文件。但是編譯時候會有這個提示

  Using flatDir should be avoided because it doesn't support any meta-data formats.

我是個完美的人,網上又中了一圈,提出File->New->New Module -> Import .jar/.aar。

然后在build.gradle文件中引入依賴implementation project(path: ':xxxxx')

在舊版本的AndroidStudio中是可以的,在新版的AndroidStudio中已經移除了這個功能,你奶奶的也不知道為啥。
我也懶得翻看更新日志了。所以我用舊版本導入一個aar作為一個module。導入后發現就多了一個build.gradle文件。

綜上總結,在高版本的AndroidStudio並且使用了版本的gradle出現了上述問題可以按着如下引用

  1. 在你工程根目錄下新建一個文件夾YouLib,將你的aar文件放入,然后在該目錄下新建一個build.gradle文件

  1. 在settings.gradle 導入該工程

include ':YouLib'

  1. 在你需要依賴的工程里面的build.gradle中增加依賴

implementation project(path: ':YouLib') // 這里需要注意的是,YouLib是你aar庫所在文件夾

當然如果你有很多aar庫,那么你需要在根目錄創建一個LocalRepo目錄,然后將你不同的aar庫放在不同文件夾下。在setting.gradle分別導入


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM