完美解决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分别导入


__EOF__

本文作者拜雨
本文链接https://www.cnblogs.com/baiyuas/p/14383723.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   拜雨  阅读(57455)  评论(10编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示