Gradle:多维风味 ApplicationId

2023-11-22

我有一个相对复杂的项目,每个应用程序需要两个风味维度。我在下面的示例中更简单地重写了它:

flavorDimensions "shape", "color"

productFlavors {

     blue {
         flavorDimension "color"
     }

     red {
         flavorDimension "color"
     }

     green {
         flavorDimension "color"
     }


     square {
         flavorDimension "shape"
     }

     circle {
         flavorDimension "shape"
     }

我希望能够为每个变体设置不同的applicationId,例如:squareblue 将具有与circleblue 不同的applicationId。我无法在颜色维度中设置 applicationId,因为每个形状的 applicationId 都是相同的。在上面的例子中我需要有 6 个不同的 applicationId。这些 ID 也不遵循任何模式,它们可以是任何东西。

我在这里看到了答案:如何使用flavorDimensions为每种口味组合设置不同的applicationId?但这意味着我需要手动设置它,这对于我的项目来说是不可行的,因为变体的数量(1000个)。

我真正想做的是在颜色维度上设置两个 applicationid,然后在构建时根据形状维度选择正确的一个。我尝试过定义变量,但没有取得任何成功,它们只是被最后一个变体覆盖。


Gradle 有一个额外财产内置的,因此您无需定义类即可完成此操作。

看起来像这样,可能有一两个错字:

productFlavors {
    blue {
        flavorDimension "color"
        ext.squareId = "yourAppId"
        ext.circleId = "yourAppId"
    }

    android.applicationVariants.all { variant ->
        def flavors = variant.getFlavors()
        if (flavors[0].name.equals("square")){
            variant.mergedFlavor.setApplicationId(flavors[1].ext.squareId)
        } ...
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gradle:多维风味 ApplicationId 的相关文章

随机推荐

  • 导入处理/模块从 python2 更改为 python3?

    我试图遵循中所示的设计模式上一个问题与 SQLAlchemy 相关 旨在跨多个文件共享公共 Base 实例 代码与 python2 和 python3 完全相同 但是 当我在模块 称为 model 中移动文件 a py b py c py
  • Microsoft Graph 中的单引号转义

    我尝试通过 displayName 查询用户 但在通过 C SDK 和 Graph Explorer 发送请求时无法转义单引号 更新 示例中不清楚 我遇到问题的搜索词是I 查询示例 https graph microsoft com v1
  • 发生 JNI 错误。请检查您的安装

    我正在尝试使用 TestNG 运行一个非常简单的测试 但收到此错误消息 我尝试阅读之前的答案 但它对我不起作用 如果有人能帮助我 我会很高兴 因为我只是 TestNG 的初学者 这是错误消息 Exception in thread main
  • 使用 C# 从 Azure Blob 复制到 AWS S3

    请注意 这是我第一次用 C 做任何事情 所以请友善 我可能犯了一些非常基本的错误 是的 我知道我不应该对密钥进行硬编码 但当代码执行我想要的操作时会修复它 我正在尝试创建一个 Azure 函数 将所有新项目从 Blob 存储复制到 AWS
  • Quartz Cron 表达式:每 15 天运行一次,即一个月运行两次

    我想使用quartz cron 表达式设置调度程序 该表达式每 15 天触发一次 例如每月 1 日和 15 日 0 15 10 15 仅在每月 15 日触发 月 我已经测试过了 下面的表达式工作正常 0 0 0 1 15 1 15 语句在每
  • 使用 jQuery 获取多个 CSS 属性

    我知道你可以设置多个 css 属性 如下所示 element css property value property value 但是如何使用 CSS 获取多个属性呢 有什么解决办法吗 jquery css 方法 从 1 9 开始 表示您可
  • PhantomJS 单击页面上的链接

    我已经编写了 PhantomJS 应用程序的一些部分 我正在一个网站上进行解析 在该网站上我将用户名和密码写入公式 之后我必须点击一个链接 而我收到此错误 TypeError undefined is not a function eval
  • html5视频通过鼠标滚轮滚动播放

    我希望能够制作一个网页 当用户上下滚动鼠标滚轮时 可以向前和向后播放视频 这似乎是可以想象的 通过 HTML5 和可能的 JavaScript 对于此类事情的任何指导都会有所帮助 随时暂停视频 每隔一段时间获取滚动位置并使视频寻找到滚动位置
  • 在 Objective-C 中比较颜色

    我试图使用 Objective C 编写的代码来确定两种颜色是否相等 我正在使用这段代码来确定两种颜色是否相等 当前用于调试目的 NSLog currentColor is currentColor NSLog Adjacent Color
  • Gradle解压时如何压平目录结构?

    我想从战争中提取一些 jar 作为我的 gradle 2 0 构建的一部分 到目前为止我有这个 task unzip type Copy def zipFile file D external dependent war def outpu
  • HTTP 错误 500.19 和错误代码:0x80070021

    我有一个由 Visual Studio 2013 构建的简单 webAPI 当我从 VS13 运行它时 它运行良好 但是当我在本地 IIS 中复制该项目时 它会出现以下错误 HTTP 错误 500 19 内部服务器错误 请求的页面无法访问
  • 检查gdb中的模板参数包

    我正在尝试调试以下简单程序 include
  • 将行添加到具有现有列的 datagridview

    我有一个DataGridView有几个创建的列 我添加了一些行并且它们显示正确 但是 当我单击单元格时 内容就会消失 我究竟做错了什么 代码如下 foreach SaleItem item in this Invoice SaleItems
  • 在 Twitter Bootstrap 2.x 中使用 box-sizing : border-box ,我们可以在不破坏所有内容的情况下轻松做到这一点吗?

    我在最近的项目中一直在使用 border box box model 这样做的好处有很多 这里就不一一解释了 但您可以在这里阅读 css tricks 中的边框 现在我正在开始一个更大的项目 我们决定 twitter bootstrap 将
  • Ruby 中的字符串连接与插值

    我刚刚开始学习 Ruby 第一次编程 并且对变量和编写代码的各种方法有一个基本的语法问题 Chris Pine 的 学习编程 教我编写这样的基本程序 num cars again 2 puts I own num cars again to
  • 如何从外部网络访问 Kubernetes Dashboard

    我正在尝试使用网络外部的 Token 方法访问 kubernetes 仪表板 我运行这两个命令来获取令牌 kubectl n kube system get secret kubectl n kube system describe sec
  • 带按钮的自定义 MKAnnotation 标注气泡

    我正在开发应用程序 用户通过 GPS 进行本地化 然后询问他是否位于特定位置 为了确认这一点 标注气泡会立即呈现给他 询问他是否在特定位置 As there is alot of similar questions I was able t
  • 关于如何将 UpdateSourceTrigger=Explicit 与 MVVM 结合使用的一个很好的示例

    我试图弄清楚如何使用 UpdateSourceTrigger Explicit 我有以下表格
  • 如何修复模板内重构 decltype 错误

    edit可能无法完成 请参阅采用函数指针的函数模板的干净实现虽然答案 1 有一个 C 宏解决方法https stackoverflow com a 18706623 2332068 我将函数传递到模板中以成为构造函数的预先提供的参数 但还需
  • Gradle:多维风味 ApplicationId

    我有一个相对复杂的项目 每个应用程序需要两个风味维度 我在下面的示例中更简单地重写了它 flavorDimensions shape color productFlavors blue flavorDimension color red f