Gradle 未找到 DSL 方法:freeCompile()

Gradle DSL method not found: freeCompile()

我想在我的项目中开始使用 gcm,我遵循 google 的说明,但是当我在我的 build.gradle 文件中添加依赖项时,如下所示:

顶级: 类路径 'com.google.gms:google-services:3.0.0'

项目级别: 应用插件:'com.google.gms.google-services'

我有一个错误提示您必须将 firebase 添加到您的依赖项中:

自由编译'com.google.firebase:firebase-core:9.0.0'

但是在我将它添加到我的依赖项之后,我又遇到了这样的错误:

错误:(74, 0) Gradle 未找到 DSL 方法:'freeCompile()' 可能的原因:

  • 项目 'testGCM' 可能正在使用不包含该方法的 Gradle 版本。 打开 Gradle 包装文件
  • 构建文件可能缺少 Gradle 插件。 应用 Gradle 插件
  • freeCompile 指定 gradle 依赖块只编译 firebase-core for the product flavor free ,所以如果你没有定义一个 free product flavor 那么当然它不会工作.

    在这种情况下,您可以像这样添加一个名为 free 的新产品口味

    android {
        ...
    
        productFlavors {
            free {
                versionCode 1
                versionName "1.0.0"
            }
       }
    
       ...
    }
    

    只需将 freeCompile 替换为 compile ,这将编译 firebase-core 库并使其可用于所有产品口味