禁用特定风格的 Google Services Gradle 插件

问题描述 投票:0回答:2

使用Google Services需要使用这个Gradle插件:

apply plugin: 'com.google.gms.google-services'
Gradle 论坛上的

这个帖子让我得出这样的结论:你无法有选择地启用或禁用插件,这意味着这不是一个选项。我已经尝试了旧线程提供的许多解决方案,涉及围绕

apply plugin
语句的条件,但现在都不起作用。

插件本身由 Google 生成的

google-services.json
配置,并放置在项目目录中。我知道您可以通过拥有多个
google-services.json
文件
来为每种风格进行不同的配置,但是我们打算如何构建我们明确希望使用Google服务的风格(例如,针对那些没有安装 Play 服务)?空白文件或虚拟 JSON 文件不起作用,因为插件将拒绝接受它。

所以我能想到的唯一解决方案是每次我想测试/构建我的风格时手动禁用插件(注释掉该行)。当然必须有更好的方法来控制插件的工作方式吗?

android gradle-plugin google-play-services
2个回答
24
投票

我终于得到了一个可以工作的版本。使用 gradle 4.6、构建工具 3.0.1、google-services 插件 3.1.1 进行测试

应用插件:'com.google.gms.google-services'

android.applicationVariants.all { 变体 ->
    if (variant.name == 'someVariantNameYouDontwanFirebase') {
        project.tasks.getByName('process' +variant.name.capitalize() + 'GoogleServices').enabled = false
    }
}

0
投票

在更现代的设置中,您还可以在策略丢失时设置策略。

productFlavors {
    create("dev") {
        dimension = "version"
        applicationIdSuffix = ".dev"
        googleServices.missingGoogleServicesStrategy = GoogleServicesPlugin.MissingGoogleServicesStrategy.WARN
    }
 }
© www.soinside.com 2019 - 2024. All rights reserved.