Direct local .aar file dependencies are not supported when building an AAR 构建问题处理

一,build报错信息:

Execution failed for task ':cmm_xxx:bundleDebugAar'.
> Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packa
ged in the resulting AAR. Previous versions of the Android Gradle Plugin produce broken AARs in this case too (despite not throwing this error). The following direct local .aar file dependencies of the :cmm_ab
project caused this error: D:\work\xxxx\xxxsdk\cmm_xxxx\libs_ab\play-services-ads-20.1.0.aar, D:\work\xxxx\xxxsdk\cmm_xxxx\libs_ab\play-services-ads-base-20.1.0.aar, D:\work\xxxx\xxxsdk\cmm_xxxx\libs_ab\play
-services-ads-identifier-17.0.0.aar .......

 二,分析原因&解决方案:

构建过程无法读取并使用依赖包的aar文件,然后回去查看build.gradle文件是设置了

implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs_ab')

 明明设置了依赖,为什么读取不到呢,然后去检查   repositories

repositories {
    flatDir {
        dirs 'libs'
        dirs 'libs_ab'  // 把这个加上也是不行
    }
}

然后搜索引擎查找原因和解决办法,都无法解决问题,但是对比了一下其他能够build成功的项目的差异性,将

implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs_ab')
改成 
implementation(name: 'xxx.xxx.xxx', ext: 'aar')

然后重新build,就构建成功的了.

即:

    implementation(name: 'play-services-ads-20.1.0', ext: 'aar')
    implementation(name: 'play-services-ads-base-20.1.0', ext: 'aar')
    implementation(name: 'play-services-ads-identifier-17.0.0', ext: 'aar')
    implementation(name: 'play-services-ads-lite-20.1.0', ext: 'aar')
    ......

必须要使用gradle对应的依赖引入方法格式,才能保证build成功。

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值