背景:在Android開發(fā)中,我們經(jīng)常遇到在Android Studio中依賴aar的情況。這里我們主要介紹在app或其它library module中肉津,依賴libs文件夾下aar文件時的配置問題。記錄一下依賴 libs 文件夾中aar文件時,提示:Failed to resolve 的坑~
一伸蚯、在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文件
注:當(dāng)項目存在多個module時瑞眼,如果想在某個library module中依賴aar文件時,那么其它所有直接或間接依賴該library module的module中都應(yīng)聲明該aar文件所在libs目錄的相對路徑或在project的build.gradle文件中進(jìn)行統(tǒng)一配置聲明棵逊。否則會同步依賴失敗伤疙,提示 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文件中統(tǒng)一配置如下:
allprojects {
repositories
flatDir {
dirs project(':xxx').file('libs') //將xxx替換為引入aar文件的module名
}
}
}
3.在依賴aar文件的library module下的build.gradle文件中添加依賴如下:
implementation(name: 'xxx', ext: 'aar') //只允許在依賴aar文件的module下調(diào)用該aar文件
或
api (name:'xxx',ext:'aar') //在其他依賴該library module的module中蛙讥,也可調(diào)用該library module所依賴的aar文件