草庐IT

Build was configured to prefer settings repositories over project repositories but repository ....问题

badme 2023-07-09 原文

关于“ Build was configured to prefer settings repositories over project repositories but repository 'MavenRepo' was added by build file 'app\build.gradle' ” 问题的解决方案

本人的原因:增加kotlin的兼容支持;当然还有其他原因导致,这里不细述;

有用解法步骤如下:

1,将setting.gradle文件的该配置注释掉:

//dependencyResolutionManagement {
//    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
//    repositories {
//        google()
//        mavenCentral()
//        jcenter() // Warning: this repository is going to shut down soon
//        maven { url 'https://jitpack.io' }
//    }
//}

2,在根目录下的build.gradle文件中增加如下配置:

allprojects {
    repositories {
        google()
        mavenCentral()
//        jcenter() // Warning: this repository is going to shut down soon
    }
}

3,然后点击按钮“sync project with gradle files”即可正常

注意:

1,也找了线上大多数的解决办法,例如这里的:android - Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle' - Stack Overflow

但是并不解决问题,所以放弃

2,补充说明:

补充说明一下,这个是和AGP插件版本和gradle版本的映射关系有关的,相关说明地址在:https://developer.android.com/studio/releases/gradle-plugin?hl=zh-cn
另外,如果是AGP版本是4.2.2, gradle版本是6.7.1,如上的配置才需要在根目录的build.gradle配置;
如果是7.0以上的版本,则是在setting.gradle版本配置。各位可自己测试验证;
AGP版本配置(根目录的build.gradle -> buildscript -> dependencies):
classpath 'com.android.tools.build:gradle:4.2.2'
gralde版本配置(gralde -> wrapper -> gradle-wrapper.properties):
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
这两个配置也可以打开open module setting进行设置。

有关Build was configured to prefer settings repositories over project repositories but repository ....问题的更多相关文章

随机推荐