【问题标题】:Problems using Firebase in Library Module: Uknown property 'LibraryVariants'在库模块中使用 Firebase 的问题:未知属性“LibraryVariants”
【发布时间】:2017-11-14 16:44:54
【问题描述】:

我正在尝试将 Firebase 添加到我的项目中,但我的项目有点特别。 Firebase 将在我的项目的库模块中使用,因此它不会在我的应用模块中。

我正在按照指南中添加 Firebase 的手动过程进行操作,但我总是收到此错误:

com.android.build.gradle.LibraryExtension 类型对象的未知属性“LibraryVariants”

我在我的项目 gradle 文件中添加了这个:

    buildscript {
  dependencies {
    // Add this line
    classpath 'com.google.gms:google-services:3.1.0'
  }
}

这在我的库模块 gradle 文件中:

    ...
// Add to the bottom of the file
apply plugin: 'com.google.gms.google-services'

尝试同步我的项目时出现错误。我也尝试了最后一个 gradle 插件。我也尝试在我的应用程序模块中添加插件,结果相同。我正在使用 Android Studio 3.0。

是什么导致了这个错误?也许 Firebase 与库模块不兼容?

PS:我正在使用 SDK 级别 23 进行编译:

android {
    compileSdkVersion 'Google Inc.:Google APIs:23'
    buildToolsVersion '24.0.2'

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 20
    }

注意:我知道 Stack Overflow 中回答了有关 LibraryVariants 的问题,但这些问题不适用于我的案例。

【问题讨论】:

    标签: android firebase gradle


    【解决方案1】:

    google-services 插件不适用于库模块。它仅适用于应用模块。

    This page 在步骤 1 中说:

    打开应用模块目录中的 build.gradle 文件。

    注意:Android Studio 项目包含一个顶级 build.gradle 文件 以及每个模块的 build.gradle 文件。一定要编辑文件 您的应用程序模块。请参阅使用 Gradle 构建项目 有关 Gradle 的更多信息。

    This page 说:

    此步骤要求应用插件: 'com.google.gms.google-services' 行位于您的底部 应用程序/build.gradle

    还有:

    google-services.json文件一般放在app/ 目录(位于 Android Studio 应用模块的根目录)。

    【讨论】:

    • 所以不能在库中使用 Firebase 吗?你有那个文档的链接吗?
    • 另外,这个库模块正在我的项目中使用,所以它是我的应用程序。
    • 已更新文档参考。
    • 在哪里使用你的库项目并不重要。另一方面,想想如果你导入了两个库项目,每个项目都配置了一个 Firebase 应用程序,会发生什么。会发生什么?您当然可以将 firebase 依赖项导入库项目,但 Firebase 作为一个整体需要单个应用程序的单一配置。如果您不想使用默认配置方法,您可以随时在应用程序中根据需要手动初始化它。 firebase.googleblog.com/2017/03/…
    • 谢谢,但在那些引号中,我看不到任何说明您不能在库模块中使用 firebase 的行……他们只是在告诉如何将其添加到应用程序模块中。
    猜你喜欢
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2022-01-17
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    相关资源
    最近更新 更多