完美解决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出现了上述问题可以按着如下引用
- 在你工程根目录下新建一个文件夹YouLib,将你的aar文件放入,然后在该目录下新建一个build.gradle文件
- 在settings.gradle 导入该工程
include ':YouLib'
- 在你需要依赖的工程里面的build.gradle中增加依赖
implementation project(path: ':YouLib') // 这里需要注意的是,YouLib是你aar库所在文件夹
当然如果你有很多aar库,那么你需要在根目录创建一个LocalRepo目录,然后将你不同的aar库放在不同文件夹下。在setting.gradle分别导入