为特定的 flavor 禁用 Google Services Gradle 插件

17

使用Google服务需要使用此Gradle插件:

apply plugin: 'com.google.gms.google-services'

这个Gradle论坛的帖子让我得出结论,你无法有选择性地启用或禁用插件,这意味着这不是一个选项。我尝试了一些旧帖子提供的涉及apply plugin语句周围条件的解决方案,但现在它们都不起作用。

插件本身由Google生成并放置在项目目录中的google-services.json进行配置。我知道您可以通过拥有多个google-services.json文件为每种风味设置不同的配置,但是对于我们明确想要使用Google服务的构建风味,我们应该怎么做(例如,针对未安装Play服务的设备)?空文件或虚拟JSON文件无法正常工作,因为插件将拒绝接受它。

所以,我唯一能想到的解决方案就是手动禁用插件(注释掉那行),每次想要测试/构建我的风味时都要这样做。肯定有更好的方法来控制插件的工作方式吧?

1个回答

23

我终于成功地获得了一个可行的版本。测试使用 Gradle 4.6、构建工具 3.0.1 和 Google Services 插件 3.1.1。

apply plugin: 'com.google.gms.google-services'
android.applicationVariants.all { variant -> if (variant.name == '您不想要Firebase的某些变量名') { project.tasks.getByName('process' + variant.name.capitalize() + 'GoogleServices').enabled = false } }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接