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

Ven*_*Ren 82 android build android-gradle-plugin

/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
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 127

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
Run Code Online (Sandbox Code Playgroud)

作为Android使用的gradle插件:

classpath 'com.android.tools.build:gradle:3.0.0-beta1'
Run Code Online (Sandbox Code Playgroud)

在任何情况下(也可以使用Android Studio 2.3,gradle插件2.3.3和gradle v3.3),您可以使用相同的maven repo { url 'https://maven.google.com'}.这是相同的.

只是用例如:

buildscript {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
 //
}
Run Code Online (Sandbox Code Playgroud)


Ano*_*ous 40

如果您使用的是Android Studio 2.3.3,请尝试在项目级gradle中添加它

allprojects {
  repositories {
    jcenter()
    maven {
        url 'https://maven.google.com'
    }
}
Run Code Online (Sandbox Code Playgroud)

这对我有用.

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


Rad*_*esh 28

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

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|
Run Code Online (Sandbox Code Playgroud)

为了gradle com.android.tools.build:gradle:3.2.1

用这个

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
Run Code Online (Sandbox Code Playgroud)


Sag*_*gar 21

看起来你正在使用低于4.1的Gradle版本

解决方案1:

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

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

要找到该gradle-wrapper.properties文件,请ctrl + shift + N在Android Studio中按,然后键入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
}
Run Code Online (Sandbox Code Playgroud)

解决方案2:

repositories{...}块中使用以下代码google():

maven {
        url 'https://maven.google.com'
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
}
Run Code Online (Sandbox Code Playgroud)


Luc*_*cas 6

用这个改变你的项目级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()
    }
}
Run Code Online (Sandbox Code Playgroud)


V.M*_*rch 5

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

之前:

jcenter()
google()
Run Code Online (Sandbox Code Playgroud)

后:

google()
jcenter()
Run Code Online (Sandbox Code Playgroud)

我现在使用以下设置。

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()
    }
}
Run Code Online (Sandbox Code Playgroud)