无法解析com.android.tools.build.gradle:3.0.1

时间:2018-01-16 08:26:27

标签: android gradle

我强迫gradle使用http 我修改了我的gradle-wrapper.properties:

distributionUrl=http\://services.gradle.org/distributions/gradle-4.3-all.zip

build.gradle:

buildscript {
repositories {
    //jcenter()
    //google()
    maven { url "http://jcenter.bintray.com"}     
    }
dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}}

allprojects {
repositories {
    jcenter()
    maven { url 'http://maven.google.com' }
    maven { url "http://jitpack.io" }
}}

据我所知,我应该使用3.0.1但是当我检查jitpack或maven上的实际repo时,只有2.3.3可用。

我收到的错误消息是:

> Could not resolve all files for configuration ':classpath'.
> Could not find com.android.tools.build:gradle:3.0.1.
Searched in the following locations:
http://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom
http://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.jar
Required by:
     project :* Try:

Gradle版本是4.3.1 JVM 9.0.1

在这里成功运行'gradle test'可以做些什么?

编辑: 取消注释// google()沉迷:

       > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom'.
        > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom'.

修改http repo

buildscript {
repositories {
    //jcenter()
    //google()
    maven { url "http://jcenter.bintray.com"}
    maven { url "http://maven.google.com"}

    }

我得到了:

      > Could not resolve com.android.tools.build:gradle:3.0.1.
     > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom'.
        > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom'.
           > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  > Could not resolve com.android.tools.build:gradle:3.0.1.
     > Could not get resource 'http://maven.google.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom'.
        > Could not GET 'http://maven.google.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom'.
           > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

如果我取消注释jcenter()和google(),我会得到相同的结果。此外,当我检查https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/链接已经死亡时。 现在,jcenter repo https://repo1.maven.org/maven2/com/android/tools/build/gradle/以2.3.3版本结束,这个错误正好发生了,问题是什么呢?

编辑 - 可能的解决方案是因为您无法完全排除https,因此无论如何都会失败。

10 个答案:

答案 0 :(得分:7)

  

无法解析com.android.tools.build:gradle:3.0.1。

阅读Google's Maven repository

顶级 build.gradle 文件中加入Google的Maven存储库:

<强> FYI

allprojects {
    repositories {
        google()

        // If you're using a version of Gradle lower than 4.1, you must instead use:
        // maven {
        //     url 'https://maven.google.com'
        // }
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
}

因此,根据您的版本, build.gradle

buildscript 
{

    repositories {
        jcenter()
        google()
        maven { url "http://jcenter.bintray.com"}     
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'

    }
}

allprojects 
{
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
        google()
    }
}

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

答案 1 :(得分:2)

我遇到了同样的问题,我通过更改主要gradle文件解决了它,根据android studio提供的建议

buildscript {
    repositories {
        jcenter()

        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

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

gradle-wrapper.properties:

distributionUrl=  https\://services.gradle.org/distributions/gradle-4.1-all.zip

我的gradle文件是这样的,在你的项目中这样做很可能会起作用。

谢谢。

答案 2 :(得分:2)

对我有用的是删除jcenter()并将Gradle还原为早期版本。

不幸的是,bintray中最新的稳定版本是2.3.3,但至少我能够成功构建。

我的build.gradle现在看起来像这样:

buildscript {
    repositories {
        maven { url "http://jcenter.bintray.com"}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url "http://jcenter.bintray.com"}
    }
}

答案 3 :(得分:2)

试试这个并确保你的网络运行良好(没有代理......):

在gradle-wrapper.properties中:

distributionUrl=  https\://services.gradle.org/distributions/gradle-4.1-all.zip

并在build.gradle中:

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

allprojects {
    repositories {
        jcenter()
        google()
    }

}

答案 4 :(得分:1)

不确定但是您的错误Could not resolve all files for configuration ':classpath'.当您的路径未设置时,请按照以下步骤操作:

转到文件 - &gt;设置 - &gt;版本控制器

然后将VCS 更改为&lt;无>&gt;

见下图:

enter image description here

答案 5 :(得分:1)

我遇到了同样的问题,因为我以前设置代理(现在没有代理),然后点击确定按钮 proxy setting, 所以,请检查以下内容:

  1. echo $ proxy(mac)
  2. /user/XXX/.gradle/gradle.properties

    # systemProp.https.proxyPort=1080
    # systemProp.http.proxyHost=127.0.0.1
    # systemProp.https.proxyHost=127.0.0.1
    # systemProp.http.proxyPort=1080
    
  3. 项目/ gradle.properties

答案 6 :(得分:1)

我遇到了同样的问题,为了解决这个问题,我做了以下事情

1-使用必需的SDK安装android studio

2-在android studio中设置手动代理:File > Settings > Appearance & Behavior > System Settings > HTTP Proxy

3-在android studio中单击Gradle图标,以将项目与gradle文件同步。 然后

4-当android studio和proxy处于活动状态时,在命令提示符下运行“ ionic cordova build android”命令(我使用ionic平台),它将下载所有要求的gradle库和软件包。

答案 7 :(得分:0)

将以下代码添加到您的应用级gradle文件中。

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven { url "http://jcenter.bintray.com"}
        maven { url "http://maven.google.com"}
}

答案 8 :(得分:0)

检查您是否不过滤Google IP。

答案 9 :(得分:0)

这对我有用,我需要安装google依赖项

enter image description here