Gradle同步失败:找不到com.android.tools.build:gradle:5.5.1。

9

我遇到了一个奇怪的问题。我想将我的 Gradle 从版本 2.14.1 升级到 5.5.1,但它不让我升级。

这里是我得到的错误:

Gradle sync failed: Could not find com.android.tools.build:gradle:5.5.1.
            Searched in the following locations:
            - https://jcenter.bintray.com/com/android/tools/build/gradle/5.5.1/gradle-5.5.1.pom
            - https://jcenter.bintray.com/com/android/tools/build/gradle/5.5.1/gradle-5.5.1.jar
            Required by:
            project :
            Consult IDE log for more details (Help | Show Log) (1 s 664 ms)

我正在查看一些旧帖子,它们都详细说明了项目所需的内容,但奇怪的是,上面是空白的。

这是我的build.gradle文件的样子:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:5.5.1'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

我还双重检查了在Android Studio > 属性 > Gradle > 使用本地Gradle发行版中的gradle路径,我已将其设置为根目录下的gradle-5.5.1目录。

日志也没有帮助,它显示与上述相同:

2019-07-14 08:28:28,670 [thread 268]   INFO - e.project.sync.GradleSyncState - Gradle sync failed: Could not find com.android.tools.build:gradle:5.5.1.
Searched in the following locations:
  - https://jcenter.bintray.com/com/android/tools/build/gradle/5.5.1/gradle-5.5.1.pom
  - https://jcenter.bintray.com/com/android/tools/build/gradle/5.5.1/gradle-5.5.1.jar
Required by:
    project :

Consult IDE log for more details (Help | Show Log) (5 s 536 ms) 

What am I doing wrong?

EDIT: App > build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'


    signingConfigs {
        liveConfig
                {
                   //removed due to privacy 
                }

        devConfig
                {
                 //removed due to privacy
                }

    }


    defaultConfig {
        applicationId "com.company.name"
        minSdkVersion 19
        targetSdkVersion 28
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            signingConfig signingConfigs.liveConfig
            buildConfigField "boolean", "IS_SERVICES_LIVE", "true"
            //no app created for flurry live tagging
            buildConfigField "boolean", "IS_FLURRY_LIVE", "true"
            buildConfigField "boolean", "IS_FLURRY_QA", "false"
            buildConfigField "String", "BASE_URL", "\"http://media.company.com/WebServices/prod/mobileapps/cc/data/\""

        }

        debug {
            signingConfig signingConfigs.devConfig
            buildConfigField "boolean", "IS_SERVICES_LIVE", "true"
            //no app created for flurry live tagging
            buildConfigField "boolean", "IS_FLURRY_LIVE", "false"
            buildConfigField "boolean", "IS_FLURRY_QA", "false"
            buildConfigField "String", "BASE_URL", "\"http://media.company.com/WebServices/prod/mobileapps/cc/data/\""

        }

    }
    aaptOptions {
        cruncherEnabled = false
    }
    dataBinding{
        enabled true;
    }
    lintOptions {
        abortOnError false
    }
}

dependencies {
    implementation 'com.android.support:support-v4:28.0.0'

    implementation files('libs/android-binding-v0.6-preview.jar')
    implementation 'com.flurry.android:analytics:8.2.0@aar'
    implementation files('libs/ormlite-android-5.0.jar')
    implementation files('libs/ormlite-core-5.0.jar')
    implementation 'com.google.android.gms:play-services-vision:18.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'

    implementation 'io.reactivex:rxjava:1.1.5'
    implementation 'io.reactivex:rxandroid:1.1.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
    implementation 'com.squareup.retrofit2:retrofit:2.1.0'
    implementation 'com.github.bumptech.glide:glide:4.0.0'

    def appCenterSdkVersion = '2.0.0'
    implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
    implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"

}
4个回答

12

这个依赖项对应的是 Android gradle 插件,而不是 Gradle 本身。通常情况下,Android gradle 插件应该与您的 Android Studio 版本号相匹配(例如 "3.4.2")。

如果您想要更新 Gradle 本身,并且正在使用 gradle wrapper,请更新 gradle/wrapper/gradle-wrapper.properties 文件并编辑 distributionUrl 行:

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

如果您使用的是本地分发版,则无需进行任何操作。您的项目将使用Android Studio设置中设置的Gradle分发版本进行构建(在您的情况下为Gradle 5.5.1)。

编辑:看起来您的build.gradle文件还缺少google()仓库,如果您想使用Android Gradle插件3.4.2,则应如下所示:

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

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

我现在正在运行Android Studio 3.4.2,但仍然出现错误。你是说我需要使用Gradle版本3.4.2吗? - Euridice01
我怎么获取Android Gradle插件3.4.2?显然,有些东西出了问题。那么,我做错了什么? - Euridice01
1
我猜测你在gradle.properties文件中缺少了以下两行代码:android.useAndroidX=trueandroid.enableJetifier=true - Dalmas
我的 google() 存储库不见了。这解决了我的问题。 - Payel Senapati
你的Android Studio安装版本号在哪里可以找到?在MacOS上,它似乎是一个带有2020年日期的过时版本。 - Chucky
显示剩余14条评论

3

我遇到了与gradle 7.0.2相同的问题

build.gradle文件中,在jcenter()下添加google()解决了我的问题

类似这样

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.2'
    }
}

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

3

mavnrepository.com的Google标签页获取,最新稳定版本:

implementation group: 'com.android.tools.build', name: 'gradle', version: '3.4.2'

最新阿尔法版:

implementation group: 'com.android.tools.build', name: 'gradle', version: '3.6.0-alpha04'

注意: 仅使用与您的AS版本匹配的Android Gradle插件。例如,如果您使用AS 3.4.2,则使用Android Gradle插件3.4.2


不行。如果OP正在运行AS 3.4.2,则更改Android Gradle插件为“3.6.0-alpha04”不是正确的方法。 AS 3.4.2将抛出一个错误,指出它无法构建项目,因为它无法运行具有较新版本号的Android Gradle插件。 它将强制您更改Android Gradle插件版本或使用AS 3.6。 - SnakeException
我从未说过他应该这样。 - RonTLV
我建议你删除那部分。 - SnakeException
他应该知道他的选择是什么,那是一个糟糕的评论。 - RonTLV
那么至少添加一条注释,说明除非您正在运行AS Canary 3.6,否则不要使用3.6.0-alpha04,请参见我的编辑。 - SnakeException

2

前往Android Studio菜单,选择Preferences > Build Execution and Deployment > Build > Gradle,在“Use Gradle From:”菜单中选择“'gradle.wrapper.properties'文件”。

从这里选择您的gradle版本和插件版本:

https://developer.android.com/studio/releases/gradle-plugin#updating-gradle

在顶层build.gradle文件中设置gradle版本。

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

在 gradle.wrapper.properties 文件中设置插件版本,例如:

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

同步 Gradle 和构建。


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