Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gradle - Could not find method google() for arguments [] on repository container [duplicate]

/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
like image 695
VenRen Avatar asked Aug 20 '17 11:08

VenRen


4 Answers

The google() repo is a shortcut to look 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' }
    }
 //
}
like image 66
Gabriele Mariotti Avatar answered Nov 09 '22 06:11

Gabriele Mariotti


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+

like image 28
Anonymous Avatar answered Nov 09 '22 06:11

Anonymous


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

gradle-wrapper.properties

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 

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

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

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

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

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

like image 29
Radesh Avatar answered Nov 09 '22 07:11

Radesh


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/'
}
like image 22
Sagar Avatar answered Nov 09 '22 07:11

Sagar