android studio library 模块引用aar

2021-12-16 17:54:21 浏览数 (1)

背景

Android 工程导入 aar 包, 是开发过程中,很常见的操作。 今天在工程中导入遇到了一个错误,这里记录下。

  • 错误信息lib_diagnotic 是工程中的一个组件model:
代码语言:javascript复制
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 也需要添加如下代码
代码语言:javascript复制
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 文件到引用

代码语言:javascript复制
repositories {
    flatDir {
        dirs 'libs'   // aar目录
    }
}

dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    ......
    implementation(name:'diagnotic', ext:'aar')
}
2、主工程中添加对aar文件引用

app 工程中 build.gradle 文件,添加如下代码

代码语言:javascript复制
repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
        dirs '../lib_diagnotic/libs'
    }
}

0 人点赞