Error:(6, 0) Gradle DSL method not found: 'google()'

不打扰是莪最后的温柔 提交于 2019-11-26 10:24:42

The google() repo is a shortcut to looks in Google's Maven repository for dependencies. It was introduced with gradle v.4.0.

It requires (currently)

  • Gradle v.4
  • Android Studio 3.x.
  • Gradle plugin for Android 3.x

Try to use in gradle-wrapper.properties use:

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

As gradle plugin for Android use:

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

In any case (also with Android Studio 2.3, gradle plugin 2.3.3 and gradle v3.3) you can use the same maven repo using { url 'https://maven.google.com'}. It is the same.

Just use for example:

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

If you use Android studio 2.3.3, then try adding this in your project level gradle

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

this worked for me.

You also can use google() instead but you need Gradle 4.x+, Android Studio 3.x+ , Gradle plugin 3.x+

Looks like you're using a version of Gradle lower than 4.1

Solution 1:

Change the distribution URL in your gradle-wrapper.properties as follows:

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

To locate the gradle-wrapper.properties file, press ctrl + shift + N in Android Studio and type gradle-wrapper

Change the dependencies as follows:

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
}

Solution 2:

Use following in your repositories{...} blocks instead of google():

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

Just change gradle-wrapper.properties file (below image)

To this (if your gradle is 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|

For gradle

com.android.tools.build:gradle:3.2.1

Use this

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

UPDATE

For following gradles

//# 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 

Use following urls

//# 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

Don't forget adding google() in buildscript repositories.

change your project level gradle file with this,

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()
    }
}

My mistake was fixed after changing the order of elements:

Before:

jcenter()
google()

After:

google()
jcenter()

I use the following settings now.

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()
    }
}

In my case, I was getting this error due to the lower version on System Gradle than Android Gradle.

System Gradle version lower than Android Gradle version 4.4. Issue solved after I updated System(Ubuntu machine) Gradle version.

Please use

  1. dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } inside build.gradle

    &

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

Ahmed KHABER
  1. Download Gladle v4.7 from this link: services.gradle.org/distributions/gradle-4.7-all.zip
  2. Extact all content package to path: C:\Users\SESSION_NAME.gradle\wrapper\dists
  3. Go to Gradle then 'Gradle Settings'

  4. Choose 'Use local gradle distribution' and enter the path of extracted content

C:\Users\Ahmed.gradle\wrapper\dists\gradle-4.7-all\gradle-4.7 & save changes 'apply'

  1. Finaly Rebuild Project in Build menu

Accourding to Android gradle plugin release

So for example if you use plugin version 3.2.1 in:

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

You must change the gradle version in

gradle-wrapper.properties

To

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

Goodluck

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!