【问题标题】:Gradle sync failed: Could not find com.android.tools.build:gradle:5.5.1Gradle 同步失败:找不到 com.android.tools.build:gradle:5.5.1
【发布时间】:2019-07-14 12:29:49
【问题描述】:

所以,我遇到了一个奇怪的问题。我想将我的 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 > Properties > Gradle > Use local Gradle distribution 中的 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) 

我做错了什么?

编辑: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}"

}

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    此依赖对应于 Android gradle 插件,而不是 Gradle 本身。通常,Android gradle 插件应该与您安装的 Android Studio 的版本号相匹配(例如“3.4.2”)。

    如果您想更新 Gradle 本身,并且您正在使用 gradle 包装器,请更新 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 吗?
    • 您需要 Android gradle 插件版本 3.4.2(与 gradle 3.4.2 不同)。 Gradle 是构建系统,Android gradle 插件只是告诉 gradle 如何构建 android 应用程序。您可以独立于插件更新 gradle。在您的情况下,您显然已经在 Android Studio 设置中将 Gradle 设置为 5.5.1 版本,因此您无事可做。
    • 如何获取android gradle插件3.4.2?显然,有些东西不工作。那么,我做错了什么?
    • 在你的 build.gradle 文件中,使用classpath 'com.android.tools.build:gradle:3.4.2'。在 Android Studio 设置中,指向 Gradle 5.5.1(正如您已经完成的那样)。那么它应该可以工作了。
    • 我的猜测是您缺少 gradle.properties 文件中的 android.useAndroidX=trueandroid.enableJetifier=true 行。
    【解决方案2】:

    我对 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谷歌标签,最新稳定版本:

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

      最新的 alpha:

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

      注意:仅使用与您的 AS 版本匹配的 Android Gradle 插件。例如,您使用的是 AS 3.4.2,因此请使用 Android Gradle Plugin 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
      • 我从没说过他应该
      • 我建议你删除那部分。
      • 他应该知道他的选择是什么,这是一个不好的评论
      • 然后至少添加一条说明不要使用3.6.0-alpha04,除非您运行的是 AS Canary 3.6,请参阅我的编辑。
      【解决方案4】:

      进入 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 和构建。

      【讨论】:

        猜你喜欢
        • 2018-10-25
        • 1970-01-01
        • 1970-01-01
        • 2020-11-25
        • 2021-08-01
        • 1970-01-01
        • 2016-10-05
        • 1970-01-01
        • 2019-04-02
        相关资源
        最近更新 更多