Gradle错误:找不到com.android.tools.build:gradle:2.2.3

40

我正在尝试使用Gradle和CircleCI构建我的Android项目,但是出现了以下错误:

* What went wrong:
  A problem occurred configuring root project '<myproject>'.
  > Could not resolve all dependencies for configuration ':classpath'.
> Could not find com.android.tools.build:gradle:2.2.3.
 Searched in the following locations:
     file:/home/ubuntu/.m2/repository/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.pom
     file:/home/ubuntu/.m2/repository/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.jar
     https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.pom
     https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.jar
     https://oss.sonatype.org/content/repositories/snapshots/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.pom
     https://oss.sonatype.org/content/repositories/snapshots/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.jar
 Required by:
     :<myproject>:unspecified

有人能解释一下为什么我会遇到这个问题吗?


请前往此问题并为其点赞。由于许多库已从jCenter中下架,因此似乎存在许多问题。 - Patricio Sard
13个回答

65

我将jcenter()添加到我的仓库列表中,它起作用了。我希望开发人员能够快速将更新的软件包带到mavenCentral。 - Sylvain GIROD
@girod_s,由于有几个版本缺失(所有的2.2版本),也许他们决定不再服务于Maven中央库,或者他们不知道它没有分发到Maven中央库。如果他们没有宣布将不再服务于Maven中央库,您应该向开发人员报告缺失情况。 - Vampire
是的,我在Gradle的论坛上请求了解释。谢谢! - Sylvain GIROD
我认为Gradle论坛不是合适的地方。Android Gradle插件不是由Gradle团队开发的,而是由Google的Android团队开发,对吧?所以你需要向他们报告,而不是向Gradle报告。 - Vampire
这对我有用(添加jcenter()...)。这是“为什么”的原因: https://dev59.com/nGAf5IYBdhLWcg3wQgxt - Baronz

25

阅读sembozdemir在这篇文章中的回答后,我通过在build.gradle(module:cordovaLib)中添加jcenter()解决了类似的问题。

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }

}

25

最近更新了Android Studio 3.0 Canary 1版本后,我遇到了以下错误:

> Could not resolve all dependencies for configuration ':classpath'.
   > Could not find com.android.tools.build:gradle:3.0.0-alpha1.
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.pom
         https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.jar
     Required by:
         project :

这是我不得不在项目级别的build.gradle文件中添加的内容:

buildscript {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
        ....            
    }

在这里找到:https://developer.android.com/studio/preview/features/new-android-plugin-migration.html


2
你也可以使用新增的“google()”存储库,而不是显式添加Google Maven存储库。 - Joao Gavazzi

11

似乎如果您正在使用jcenter()和google(),则google存储库必须在jcenter之前。 - Martin Hlavňa

9
在我的端上,我遇到了同样的问题,因为我使用了错误的仓库顺序。
在jcenter()之前应该添加google()。
buildscript {
    repositories {
        google()
        jcenter()
    }

8

enter image description here

buildscript {
repositories {
   mavenCentral()
}

dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0'
}

}

只需将mavenCentral()更改为jcenter()。

4

你试过吗

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'

        // NOTE: Do not place your application dependencies here; they belong
    }

}

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://jitpack.io"
        }
        flatDir {
            dirs 'libs'
        }

    }

}

并且执行 Build->清除项目


那是哪个文件? - Piou

4

试试这个:

allprojects {
    buildscript {
        repositories {
            maven {
                url "https://dl.bintray.com/android/android-tools"
            }
        }
    }
...
}

如果你在12/10之后突然遇到了这个问题,请阅读下面问题评论以查看原因:https://issuetracker.google.com/issues/120759347#comment30,并在 https://issuetracker.google.com/issues/120759347#comment80中查看建议解决方案。 - dotcomXY

1

只需前往以下路径,彻底删除caches文件夹,然后重新构建项目:

C:\Users\[你的用户名]\.gradle


1

更新 CordovaLib -> build.gradle 对我也起作用,就像上面所说的那样。我最初看的是根目录下的 build.gradle,它已经包含了 jcenter()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接