flatdir android什么作用,在Android Studio的不同Module中依赖aar的配置问题

背景:在Android开发中,我们经常遇到在Android Studio中依赖aar的情况。这里我们主要介绍在app或其它library module中,依赖libs文件夹下aar文件时的配置问题。记录一下依赖 libs 文件夹中aar文件时,提示:Failed to resolve 的坑~

dfaa2326c741

图(一):依赖aar失败提示

一、在app module中依赖aar文件

1.将aar文件拷入app module下的libs文件夹下;

2.在app的build.gradle文件中配置如下:

repositories {

flatDir {

dirs 'libs'

}

}

注:repositories和android、dependencies处在同一级别的目录下。如不添加该配置,同步依赖会失败,提示 Failed to resolve 如:图(一) 所示;

3.在dependencies添加依赖并同步即可,如下:

implementation(name: 'xxx', ext: 'aar')

二、在library module中依赖aar文件

注:当项目存在多个module时,如果想在某个library module中依赖aar文件时,那么其它所有直接或间接依赖该library module的module中都应声明该aar文件所在libs目录的相对路径或在project的build.gradle文件中进行统一配置声明。否则会同步依赖失败,提示 Failed to resolve 如:图(一) 所示;

1.将aar文件拷入想要依赖的library module下的libs文件夹中;

2.在module或project中声明aar文件路径:

方式一、在module中声明:

在依赖aar文件的library module的build.gradle文件中配置如下:

repositories {

flatDir {

dirs 'libs'

}

}

在其它所有直接或间接依赖该library module的module中配置build.gradle文件如下:

repositories {

flatDir {

dirs '../xxx/libs','libs' //将xxx替换为引入aar文件的module名

}

}

方式二、在project的build.gradle文件中统一配置如下:

allprojects {

repositories

flatDir {

dirs project(':xxx').file('libs') //将xxx替换为引入aar文件的module名

}

}

}

3.在依赖aar文件的library module下的build.gradle文件中添加依赖如下:

implementation(name: 'xxx', ext: 'aar') //只允许在依赖aar文件的module下调用该aar文件

api (name:'xxx',ext:'aar') //在其他依赖该library module的module中,也可调用该library module所依赖的aar文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值