关于“ 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进行设置。