禁用Google Services Gradle插件以获得特定风格

sou*_*rop 7 android google-play-services gradle-plugin

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

apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

这个线程的摇篮论坛有使我得出这样的结论,你不能有选择地启用或禁用插件,也就是说,是不是一种选择.我已经尝试了一些旧线程提供的解决方案,涉及apply plugin声明周围的条件,现在没有一个工作.

插件本身由google-services.jsonGoogle生成并配置到项目目录中.我知道,你可以通过让有需要针对每种口味不同配置多个google-services.json文件,但什么是我们意味着,我们明确要构建口味做使用谷歌服务(如针对没有安装播放服务的设备) ?空白文件或虚拟JSON文件不起作用,因为插件将拒绝接受它.

因此,我能想到的唯一解决方案是每次我想测试/构建我的味道时手动禁用插件(注释掉该行).当然必须有一个更好的方法来控制插件的工作方式?

Jac*_*eng 6

我终于有了一个可以工作的版本。经过gradle 4.6测试,构建工具3.0.1,google-services插件3.1.1

应用插件:“ com.google.gms.google-services”

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