0
点赞
收藏
分享

微信扫一扫

Android arr依赖以及ModuleVersionNotFoundException问题解决

b91bff6ffdb5 2022-04-14 阅读 58
gradle

第一种情况,我们需要在ModuleA引入arr文件,步骤很简单:

首先将arr文件放在ModuleA的libs目录下

ModuleA添加api依赖

dependencies {
   ···
    api(name: '***', ext: 'aar')
    ···
}
android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"
    ···

    repositories {
        flatDir {
            dirs 'libs'
        }
    }

  ···
}

然后我们的ModuleB依赖ModlueA,并且也需要arr里面的部分类库,这时候我们怎么做呢?

repositories {
        flatDir {
            dirs '../moduleA名称/libs', 'libs'
        }
    }

假设我们最终的app依赖ModuleB,app的build.gradle里面也要添加依赖:

repositories {
        flatDir {
            dirs '../moduleA名称/libs', 'libs'
        }
    }

常见问题:

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find :***

解决方案:根Module(一般是app)没有添加:

repositories {
        flatDir {
            dirs '../moduleA/libs', 'libs'
        }
    }

原因分析:根Module不管用不用到arr里面的文件,但是依赖都会走一遍,如果找不到就会报错。

举报

相关推荐

0 条评论