错误:(6, 0) 未找到 Gradle DSL 方法:“google()”

Posted

技术标签:

【中文标题】错误:(6, 0) 未找到 Gradle DSL 方法:“google()”【英文标题】:Error:(6, 0) Gradle DSL method not found: 'google()' 【发布时间】:2018-01-28 14:33:22 【问题描述】:
/Users/Ren/Desktop/RecylerViewBaseAdapter/build.gradle
Error:(6, 0) Gradle DSL method not found: 'google()'
Possible causes:
The project 'RecylerViewBaseAdapter' may be using a version of Gradle that does not contain the method.
Gradle settings
The build file may be missing a Gradle plugin.
Apply Gradle plugin

【问题讨论】:

***.com/questions/45766686/… 【参考方案1】:

google() 存储库是在 Google 的 Maven 存储库中查找依赖项的快捷方式。它是通过gradle v.4.0 引入的。

它需要(当前)

Gradle v.4 android Studio 3.x. 适用于 Android 3.x 的 Gradle 插件

尝试在gradle-wrapper.properties使用:

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

作为 Android 的 gradle 插件使用:

classpath 'com.android.tools.build:gradle:3.0.0-beta1'

在任何情况下(也适用于 Android Studio 2.3、gradle 插件 2.3.3 和 gradle v3.3),您可以使用 url 'https://maven.google.com' 使用相同的 maven 存储库。是一样的。

仅使用示例:

buildscript 
    repositories 
        maven 
            url 'https://maven.google.com'
        
        jcenter()
        maven  url 'https://maven.fabric.io/public' 
    
 //

【讨论】:

只需添加一件事,按照上述步骤清理项目 再添加一个:总是在 jcenter() 之前添加 maven url 'maven.google.com' !!!【参考方案2】:

如果您使用 Android Studio 2.3.3,请尝试将其添加到您的项目级 gradle 中

allprojects 
  repositories 
    jcenter()
    maven 
        url 'https://maven.google.com'
    

这对我有用。

您也可以使用 google() 代替,但您需要 Gradle 4.x+、Android Studio 3.x+、Gradle 插件 3.x+

【讨论】:

这里的顺序不重要吗?【参考方案3】:

只需更改 gradle-wrapper.properties 文件(下图)

到这里(如果你的 gradle 是 com.android.tools.build:gradle:3.0.1

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip // this version or above|

对于毕业典礼

com.android.tools.build:gradle:3.2.1

使用这个

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

更新

对于以下毕业生

//# 1
com.android.tools.build:gradle:3.0.1 

//# 2
com.android.tools.build:gradle:3.1.0 

//# 3
com.android.tools.build:gradle:3.2.1 //or 3.2.0 

//# 4
com.android.tools.build:gradle:3.3.2 //or 3.3.0 

//# 5
com.android.tools.build:gradle:3.4.0 

//# 6
com.android.tools.build:gradle:3.5.0 

//# 7
com.android.tools.build:gradle:4.0.1

使用以下网址

//# 1
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
//# 2
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
//# 3
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 
//# 4
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
//# 5
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

//# 6
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

//# 7
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

不要忘记在 buildscript 存储库中添加 google()

【讨论】:

【参考方案4】:

您使用的 Gradle 版本似乎低于 4.1

解决方案 1:

更改您的gradle-wrapper.properties 中的分发 URL,如下所示:

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

要找到gradle-wrapper.properties 文件,请在Android Studio 中按ctrl + shift + N 并输入gradle-wrapper

改变依赖如下:

dependencies 
    classpath 'com.android.tools.build:gradle:3.1.3'

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

解决方案 2:

在您的 repositories... 块中使用以下内容,而不是 google()

maven 
        url 'https://maven.google.com'
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'

【讨论】:

【参考方案5】:

用这个改变你的项目级 gradle 文件,

buildscript 
    repositories 
        jcenter()
        maven 
            url 'https://maven.google.com/'
            name 'Google'
        
    
    dependencies 
        classpath 'com.android.tools.build:gradle:2.3.2'

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


allprojects 
    repositories 
        jcenter()
    

【讨论】:

【参考方案6】:

更改元素顺序后我的错误已修复:

之前:

jcenter()
google()

之后:

google()
jcenter()

我现在使用以下设置。

buildscript 
    repositories 
        google()
        jcenter()
    
    dependencies 
        classpath 'com.android.tools.build:gradle:3.1.3' // put here an actual version
        classpath 'com.google.gms:google-services:3.3.0' // put here an actual version

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


allprojects 
    repositories 
        google()
        jcenter()
    

【讨论】:

这个答案可能听起来很荒谬,但它也解决了我升级 android studio 和 gradle 后的问题!【参考方案7】:

根据 Android gradle plugin release

例如,如果您在以下位置使用插件版本 3.2.1:

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

你必须在

中更改gradle版本

gradle-wrapper.properties

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

祝你好运

【讨论】:

【参考方案8】:

在我的情况下,由于 System Gradle 上的版本低于 Android Gradle,我收到此错误。

系统 Gradle 版本低于 Android Gradle 4.4 版。 更新系统(Ubuntu 机器)Gradle 版本后问题解决。

【讨论】:

【参考方案9】:

请使用

    dependencies classpath 'com.android.tools.build:gradle:3.2.0' 里面build.gradle

    &

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zipgradle-wrapper.properties

【讨论】:

【参考方案10】:
    从此链接下载 Gladle v4.7: services.gradle.org/distributions/gradle-4.7-all.zip 将所有内容包解压到路径: C:\Users\SESSION_NAME.gradle\wrapper\dists

    转到 Gradle,然后转到“Gradle 设置”

    选择“使用本地 gradle 分发”并输入提取内容的路径

C:\Users\Ahmed.gradle\wrapper\dists\gradle-4.7-all\gradle-4.7 并保存更改“应用”

    最后在 Build 菜单中重建项目

【讨论】:

【参考方案11】:

更改您的gradle-wrapper.properties 中的分发 URL,如下所示:

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

【讨论】:

以上是关于错误:(6, 0) 未找到 Gradle DSL 方法:“google()”的主要内容,如果未能解决你的问题,请参考以下文章

未找到 Gradle DSL 方法:android()

Gadle 同步错误:未找到 Gradle DSL 方法:'implementation()'

未找到 Gradle DSL 方法:'kapt()'

Android Studio 2.0:未找到 Gradle DSL 方法:'classpath()' error(27,0)

为啥我的 Gradle 构建失败并出现“未找到插件 [id: 'org.flywaydb.enterprise.flyway', version: '6.5.0']”错误?

错误:(26, 0) 找不到 Gradle DSL 方法:'runProguard()'