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')
}
}
}