Gradlegradle

AndroidStudio 引入aar时常见问题

2019-05-10  本文已影响807人  Beck766

引入aar步骤

1.将aar文件复制在lib目录下
2.在该module下的build.gradle文件里加入如下代码:

android {

      ...

repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

3.在 该module下的build.gradle 添加 dependencies


    implementation(name: 'name-of-aar', ext: 'aar')

假如是把 aar 文件放在 Library 的 Module 中,会造成引用该 Module 的其他 Module 或者 Application 无法找到或者解析该 aar

出现如下错误

org.gradle.api.UncheckedIOException: Failed to capture snapshot of input files for task ':mainApp:preDebugBuild' property 'runtimeManifests' during up-to-date check.
    at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.snapshotTaskFiles(CacheBackedTaskHistoryRepository.java:333)
    ...
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':mainApp:debugRuntimeClasspath'.
    at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:918)
    ... 35 more
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find :cameraviewplus-release:.
Required by:
    project :mainApp > project :

解决办法:在Project 下的 build.gradle 中的 repositories 中添加相应的引用如下:

allprojects {
    repositories {
        google()
        jcenter()
        flatDir {
              //所有的module的repositories下把library module中的libs目录添加到依赖关系中
             dirs project(':引入了aar的module名字').file('libs')
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读