为什么我会“找不到com.android.tools.build:gradle”错误?

时间:2015-06-21 01:36:06

标签: gradle build android-gradle build-automation build.gradle

这也基于我上一次question

tutorial之后,我将项目克隆到我的机器中,并试图让项目正确构建。

在修复我在上一个问题中遇到的错误的过程中,我遇到了一个新错误。
这是我试图修复/编辑

的构建脚本的一部分
buildscript {
     repositories {
         mavenCentral()
         mavenLocal()
         maven { url 'https://github.com/steffenschaefer/gwt-gradle-plugin/raw/maven-repo/' }
      }
      dependencies {
            classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.3'
            classpath 'com.android.tools.build:gradle:1.2.3'
      }
 }

关于如何检查Gradle版本的 instructions之后,我检查了我的,看到我正在运行Gradle版本2.2.1。基于此,我改变了

    classpath 'com.android.tools.build:gradle:1.2.3'

   classpath 'com.android.tools.build:gradle:2.2.1'

但是在更改了构建脚本代码并尝试重建我的项目之后,我得到了上面提到的错误(下面的完整堆栈跟踪)

    Error:Could not find com.android.tools.build:gradle:2.2.1.
Searched in the following locations:
    file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.pom
    file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.jar
    https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.pom
    https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.jar
    file:/C:/Users/chris/.m2/repository/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.pom
    file:/C:/Users/chris/.m2/repository/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.jar
    https://github.com/steffenschaefer/gwt-gradle-plugin/raw/maven-repo/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.pom
    https://github.com/steffenschaefer/gwt-gradle-plugin/raw/maven-repo/com/android/tools/build/gradle/2.2.1/gradle-2.2.1.jar
Required by:
    :theplanethatcouldntflygood:unspecified

有谁知道我为什么会收到此错误或如何解决此问题?将Java编译器(类路径)指向我甚至不使用的Gradle版本是没有意义的。

5 个答案:

答案 0 :(得分:26)

你在android gradle插件和gradle版本之间感到困惑。

classpath 'com.android.tools.build:gradle:1.2.3'是Android的gradle插件,截至目前,1.2.3是最新的。

gradle版本本身位于gradle-wrapper.properties文件中。 2.4是最新版本,

答案 1 :(得分:6)

您可以在此地址找到最新版本:
repo1.maven.org/maven2/com/android/tools/build/gradle
 jcenter.bintray.com/com/android/tools/build/gradle

buildscript {
repositories {
    maven { url "https://jcenter.bintray.com" }
    maven { url "http://repo1.maven.org/maven2" }
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}
}

allprojects {
repositories {
    maven { url "https://jitpack.io" }
    maven { url "https://jcenter.bintray.com" }
    maven { url "http://repo1.maven.org/maven2" }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

答案 2 :(得分:6)

Per @ Hamidreza的回答,查看mavenjcenter回购。事实上,jcenter(目前)拥有比maven更新的工具。

所以在顶级build.gradle文件中, 像这样将“mavenCentral”改为“jcenter”

repositories {
    //mavenCentral()
    jcenter()
}

答案 3 :(得分:0)

我通过升级Android版本修复了这个问题。我收到错误Could not find com.android.tools.build:gradle:2.2.0,当时正在运行2.1.x版本的Studio。

简单升级到2.2.2立即解决了我的问题。希望这可以帮助别人!

答案 4 :(得分:0)

如果您在代理服务器后面,请确保为此设置了Android Studio。它不承担系统代理设置。

我的Studio + Gradle副本未设置为通过代理,因此它给了我这个错误。很高兴得到一个明确的“嘿伙伴,我不能上网”,但我得到了这个错误。