由于gradle 7.0以后新增的统一管理依赖的方式,导致以前的远程依赖的方式添加出现问题
> Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle'
>Build被配置为更喜欢设置存储库而不是项目存储库,但存储库“Google”是由Build文件“Build.gradle”添加的
此时我的Project中的setting.gradle是这样的
我的Project中的build.gradle是这样的
正常在app目录下的build.gradle中的dependencies闭包下添加如下代码:
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
maven { url 'https://jitpack.io' }
改到settings.gradle中了
此时我的Project中的setting.gradle是这样的
但是系统仍然报错,我百思不得其解,后来根据大佬找到的文章在 Android Studio Arctic Fox Canary 8 中,应用级 build.gradle 不会生成“allprojects”部分,并在手动添加时导致错误 - 堆栈溢出 (stackoverflow.com)https://stackoverflow.com/questions/66475730/in-android-studio-arctic-fox-canary-8-the-app-level-build-gradle-does-not-gener
在下面的回答中找到了答案,我将
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
替换成
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
Sync Now一下,终于不再报错,build成功了。
这里总结一下
首先在Project中的build.gradle添加如下
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
然后在Project中的setting.gradle添修改如下
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
}
最后在app目录下的build.gradle中的dependencies添加
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
这里非常感谢hpp_1255大佬的解决方案以及冰之沁泠大佬的参考,本人还是初学Android的菜鸟,第一次写博客,用来分享解决了一个问题的喜悦,以及记录问题的解决方式,其中如果有任何问题,非常感谢各位大佬的建议。