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()
    }
}

我们会发现 buildscriptallprojects 标签下都含有 repositories


上面的错误就是只在buildscript下添加maven { url ‘https://jitpack.io’ } 所导致的。

问题二

buildscriptallprojects 标签下的 repositories 有什么不同呢?

通常情况下,保持两者相同即可。
buildscript 是 Gradle 自身所使用的。
allprojects 是 项目模块所使用的。

具体内容可以参考:buildscript和allprojects的作用和区别是什么?


2. 解决方案

通过上面的内容,我们明白了Project的build.gradle的构成,解决方案自然也就跃然纸上…

最保险的办法就是:保持buildscriptallprojectsrepositories内容一致。

3. 补充内容

通过StackOverFlow的解决方案 发现这种问题的原因有很多。希望这个链接能帮助大家。

猜你喜欢

转载自blog.csdn.net/wangcheeng/article/details/111997403