Could not resolve all dependencies for configuration的解决方案
开口神气散,意动火工寒

Android项目中一般都会存在 1个Project的build.gradle 和 n 个 Module的build.gradle.
1. 问题来源
MPAndroidChart 的集成,如下图所示:

今天在这里犯了一个错误,导致出现上面的问题:
// 这里要放在Project的build.gradle文件中
repositories {
maven { url 'https://jitpack.io' }
}
// 这里大家都知道放在Module的build.gradle文件中
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
问题一
为什么会出现Could not resolve all dependencies for configuration的错误呢?
首先我们先来看一下Project的build.gradle文件的内容:
buildscript {
// 注意这里
repositories {
maven { url 'https://jitpack.io' }
google()
jcenter()
}
...
}
allprojects {
// At the same time,注意这里
repositories {
maven { url 'https://jitpack.io' }
google()
jcenter()
}
}
我们会发现 buildscript和 allprojects 标签下都含有 repositories。
上面的错误就是只在buildscript下添加maven { url ‘https://jitpack.io’ } 所导致的。
问题二
buildscript和 allprojects 标签下的 repositories 有什么不同呢?
通常情况下,保持两者相同即可。
buildscript 是 Gradle 自身所使用的。
allprojects 是 项目模块所使用的。
具体内容可以参考:buildscript和allprojects的作用和区别是什么?
2. 解决方案
通过上面的内容,我们明白了Project的build.gradle的构成,解决方案自然也就跃然纸上…
最保险的办法就是:保持buildscript 和 allprojects的 repositories内容一致。
3. 补充内容
通过StackOverFlow的解决方案 发现这种问题的原因有很多。希望这个链接能帮助大家。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)