背景
Android 工程导入 aar 包, 是开发过程中,很常见的操作。 今天在工程中导入遇到了一个错误,这里记录下。
- 错误信息
lib_diagnotic
是工程中的一个组件model:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find :diagnotic:.
Required by:
project :app > project :lib_diagnotic
Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
- 错误原因
除了组件 model工程的
build.gradle
文件中,需要添加如下代码,在 壳工程app的build.gradle
也需要添加如下代码
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
dirs '../lib_diagnotic/libs' // model工程的` build.gradle` 和 app工程中的路径不同,需要调整到对应的aar路径
}
}
library 模块引用aar
1、 拷贝 aar文件 到 工程libs
目录中
引入aar 的第一步,是需要将 aar 文件拷贝到 对应工程的libs
目录中
2、工程中引用 aar 文件
lib工程中的build.gradle
文件中,添加 aar 文件到引用
repositories {
flatDir {
dirs 'libs' // aar目录
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
......
implementation(name:'diagnotic', ext:'aar')
}
2、主工程中添加对aar文件引用
app 工程中 build.gradle
文件,添加如下代码
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
dirs '../lib_diagnotic/libs'
}
}