根据风味文件夹内容有条件地应用 gradle 插件

Posted

技术标签:

【中文标题】根据风味文件夹内容有条件地应用 gradle 插件【英文标题】:Apply a gradle plugin conditionally depending on a flavour folder contents 【发布时间】:2020-09-16 23:02:17 【问题描述】:

我需要有条件地将我的项目中的com.google.gms.google-services 插件仅应用于某些口味。

我设法以类似于this approach, 的方式实现了这一点,但它仅适用于静态值(这意味着我需要硬编码我想要添加这个插件的风格)。

我正在寻找一种解决方案,仅当某种风味包含 google-services.json 文件(或者它位于项目的继承树中)时才允许我应用插件,因此该解决方案很灵活,不需要保留列出最新的。

我设法使用project.android.applicationVariants 属性扫描该文件是否存在所有构建变体,但是一旦应用了所有插件,此检查就已经完成。这意味着不再需要此扫描的结果。

在应用插件之前,有什么方法可以在早期阶段使用项目的applicationVariants 属性?

【问题讨论】:

请在google中搜索动态功能。我不确定它是否有帮助。 【参考方案1】:

毕竟我遵循了启用插件的解决方案,但禁用了它为不应该启用插件的风味引入的任务。由于它可以在与我检查 google-services.json 文件存在的相同的 project.android.applicationVariants 块中完成,因此对于这种情况它是一个完美的解决方案。

查看更多:https://***.com/a/49542745/3187706

【讨论】:

以上是关于根据风味文件夹内容有条件地应用 gradle 插件的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle flavor —— 打造不同风味的app

Android Gradle flavor —— 打造不同风味的app

Android风味,Gradle sourceSets合并

在 gradle 中设置 applicationId 以获得组合的产品风味

Android Studio gradle 风味维度构建变体无法正常工作

如何在 gradle for Android 项目中更改 proguard 映射文件名