【问题标题】:Gradle DSL method not found: freeCompile()未找到 Gradle DSL 方法:freeCompile()
【发布时间】:2017-04-19 12:31:34
【问题描述】:

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

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

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

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

freeCompile 'com.google.firebase:firebase-core:9.0.0'

但是在我将它添加到我的依赖项之后,我遇到了另一个类似这样的错误:

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

  • 项目“testGCM”可能正在使用不包含该方法的 Gradle 版本。 打开 Gradle 包装文件
  • 构建文件可能缺少 Gradle 插件。 应用 Gradle 插件
  • 【问题讨论】:

    • freeCompile 指定了 gradle 依赖块,它只为产品风格 free 编译 firebase,所以如果你没有定义 free 产品风格,那么它当然不会工作,在这种情况下你可以添加一个名为 free 的新产品风格,或者只需将 freeCompile 替换为 compile ,这将编译 firebase-core 库并使其可用于所有产品风格

    标签: android firebase dependencies google-cloud-messaging build.gradle


    【解决方案1】:

    freeCompile 指定仅编译 firebase-core 为产品风味免费的 gradle 依赖块,因此如果您尚未定义免费产品风味,那么它当然不会工作。

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

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

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

    【讨论】:

    • 我明白这个问题,谢谢您的回复。
    • @user44480 如果答案解决了您的问题,请标记答案。
    猜你喜欢
    • 2019-09-29
    • 2015-09-25
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多