如何配置构建类型与产品风格?

2024-03-14

基于这个答案https://stackoverflow.com/a/27908019/5156317 https://stackoverflow.com/a/27908019/5156317我有一个后续问题:是什么让代表产品风味的应用程序与众不同?我试图将其与我的 XCode 设置进行比较,如下所示:

  • 使用测试后端的开发应用程序
  • 使用生产后端的开发应用程序
  • 使用测试后端的测试应用程序(企业发行版)
  • 使用生产后端的测试应用程序(企业发行版
  • 使用生产后端的 Live App(应用程序商店分发)

我对 Android 设置的想法:

构建类型: 调试测试 调试_生产 // 不需要企业应用程序,因为任何设备上都可能存在未签名的应用程序 发布

口味: 我的应用程序

感谢您的支持!


好吧,我不会指定更多的构建类型debug and release为了使用不同的后端。 相反,我会使用其中一些技术:

  • 更多口味,
  • 自定义构建配置字段(文档here https://developer.android.com/studio/build/gradle-tips.html#simplify-app-development),
  • 结合多种产品口味(文档here https://developer.android.com/studio/build/build-variants.html#flavor-dimensions).

您可以使用以下命令访问应用程序代码中的构建类型、构建风格和自定义字段BuildConfig class.

简单的口味方法

  • 构建类型:

    • debug
    • release
  • Flavors:

    • dev
    • test
    • live

这将导致这些构建变体(您不必使用所有这些变体):

  • devDebug
  • devRelease
  • testDebug
  • testRelease
  • liveDebug
  • liveRelease

使用维度组合多种口味的方法

  • 风味维度:

    • backend
    • target
  • 构建类型:

    • debug
    • release
  • Flavors:

    • target dimension:
      • dev
      • test
      • live
    • backend dimension:
      • production
      • test

这将导致这些构建变体(同样,您不必使用所有这些变体):

  • productionDevDebug
  • productionDevRelease
  • productionTestDebug
  • productionTestRelease
  • productionLiveDebug
  • productionLiveRelease
  • testDevDebug
  • testDevRelease
  • testTestDebug
  • testTestRelease
  • testLiveDebug
  • testLiveRelease

使用构建字段

在构建类型和构建风格声明中使用附加值,例如:

buildConfigField "boolean", "production_backend", "false"

or

buildConfigField "String", "backend", "\"production\""

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何配置构建类型与产品风格? 的相关文章

  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们
  • 将数组值导出到 csv 文件 java

    我只需要帮助将数组元素导出到 csv 文件 我不知道我的代码有什么问题 任何帮助将不胜感激 谢谢 for int index 0 index lt cols length index FileWriter fw new FileWriter
  • 如何强制下载图片?

    我的页面上有一个动态生成的图像 如下所示 img src 我不想告诉我的用户右键单击图像并点击保存 而是想公开一个下载链接 单击该链接将提示下载图像 如何实现这一目标 最初我在 js 中尝试这样做 var path my image att
  • 将 Hbase 与 PHP 集成 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经安装了 Hbase 现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成 我尝试了 2 个库 第一个是我尝试与 th
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc
  • Powershell 中的“$”是什么?

    是什么意思 在 Powershell 中 Edit TechNet 答案 http technet microsoft com en us library hh847768 aspx同义反复 没有解释 成功 或 失败 的含义 包含上次操作的
  • 将我的免费应用程序从 Universal 升级到仅限 iPhone

    我释放我的free app到 appStore 它的版本是 1 0 它是一个Universal app 现在我想发布 1 1 版本到 appStore 我将其升级到iPhone only appStore会拒绝我吗 我已阅读类似的问题 ht
  • 声明 for 循环变量时 &mut 会做什么吗?

    考虑以下 愚蠢的 程序 fn main let mut array mut 1u8 2u8 3u8 for mut value in array 它编译并运行正常 尽管如预期的那样警告未使用的变量 不必要的可变性 但有什么作用 mut做在f
  • AWK 错误:尝试在标量上下文中使用数组

    我正在学习AWK 这是一个简单的代码片段 我尝试将字符串拆分为数组并迭代它 BEGIN split a b c a for i 1 i lt length a i print a i 运行此代码时 我收到以下错误 awk awk txt 4
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne
  • [GoF]-ConcreteSubject 可以覆盖通知方法吗?

    我正在模拟一种情况 其中存在 通知框 观察者 list1 list2 list3 这个科目 现在我会制作一张图表 其中使用观察者模式描述每个列表实现不同类型的notify 这一事实 例如 列表状态的某些变化只需要按照某些标准通知给某些观察者
  • 缓存感知树的实现

    I have a tree where every node may have 0 to N children 用例是以下查询 给定指向两个节点的指针 这些节点是否位于树的同一分支内 Examples q 2 7 gt true q 5 4
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include
  • 无法完成添加 Android 证书的构建

    我刚刚完成构建我的应用程序 我发送了一个没有证书的构建版本 它工作了 现在添加一个 android 证书 它在我的代号 one 仪表板上报告构建错误 如有帮助 将不胜感激 失败 构建失败并出现异常 出了什么问题 执行 任务失败 transf
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已
  • Jenkins 通过 ssh 发布显示错误“jenkins.plugins.publish_over.BapPublisherException:无法添加 SSH 密钥。”

    为了使用 ssh 连接 jenkins 与远程服务器 我在 jenkins 中安装了通过 SSH 发布的插件 但配置后 它显示错误为 jenkins plugins publish over BapPublisherException 无法
  • 在并行包中的 R 的 par*apply 函数内部使用 Rcpp 函数

    我试图了解背后发生的事情Rcpp sourceCpp 调用并行环境 最近 问题中部分解决了这个问题 在 Windows 上使用 parLapply 中的 Rcpp 函数 https stackoverflow com questions 2
  • NSUserDefaults、Settings.bundle 和应用程序组

    我有一个有 2 个目标的应用程序 主应用程序和 Today 扩展 为了在这些目标之间共享设置 我打开了应用程序组功能 添加了一个组group myApp com然后使用NSUserDefaults在主应用程序和今日扩展中都是如此 var d
  • 小部件配置在 macOS 上不起作用

    我为我的 iOS 应用程序制作了一个小部件 效果很好 现在我正在将其移植到我的 macOS 应用程序中 但不知何故 小部件配置不起作用 这些项目已显示 但我无法以某种方式选择它们 查看屏幕截图 但请看一下我制作的视频 https youtu
  • 使用未分配的局部变量

    我遇到了一个错误 尽管声明了变量 failturetext 和 userName 错误仍然出现 谁能帮帮我吗 Use of Unassigned local variable FailureText Use of Unassigned lo

随机推荐

  • 运行时服务不再注入 DNX 控制台应用程序 (RC1)

    我曾经能够注入运行时服务 例如IApplicationEnvironment到构造函数中PogramDNX 控制台应用程序的类 但是 使用最新的 RC1 CI 版本 服务不再被注入 public Program IApplicationEn
  • 无法将 MySQL.DateTime 转换为具有 0000-00-00 00:00:00 值的 System.DateTime

    我正在开发一个 C 项目 但遇到了一个问题 该程序允许用户连接到 MySQL 数据库并从每个选定的表中检索信息并将数据写入文件 问题是因为我不知道架构会是什么样子或者它会包含什么值 如果时间戳列包含日期 0000 00 00 00 00 0
  • Python-将稀疏矩阵行与非稀疏向量乘以索引

    我当前的软件项目涉及使用 python 实现求解线性系统的数值方法 所谓的SOR 方法 它基本上是这样工作的 给定一个线性系统 ax1 bx2 cx3 b1 dx1 ex2 fx3 b2 gx1 hx2 ix3 b3 重新排列方程为 x1
  • 如何统计QEMU从运行开始到结束执行的客户指令数量?

    我想对 QEMU 每秒的客户指令进行基准测试 以将其与其他模拟器进行比较 如何获取访客指令数 我对用户模式和完整系统模式都感兴趣 我现在唯一的解决方案是使用简单的跟踪记录所有指令exec tb or d in asm 如何使用 QEMU 的
  • 为什么定义函数之前需要使用分号? [复制]

    这个问题在这里已经有答案了 我见过一些奇怪的 在一些 jQuery 插件源代码的函数开头 如下所示 function 有人可以解释为什么他们需要使用 在这种情况下 当文件中当前存在的代码不包含新代码时 此分号将帮助您正确地将新代码连接到文件
  • 长按后移动事件

    在我的 GestureDetector 中调用长按后 如何监听移动事件 当用户长按时 他启动选择模式 并且可以将一个正方形拖到屏幕中 但我注意到 在使用 LongPress 后 不会调用 onScroll 尝试解决这个问题一段时间 目前的解
  • 序言排列函数

    我是 Prolog 的新手 我知道排列的递归函数 即 per per L X P del X L L1 per L1 P 我想知道当我们收到时这个函数在最后一次迭代中的逻辑树per 它返回哪个元素 Sonia 您还没有给我们 del 谓词
  • .NET 异常类型的 _xcode 字段是什么?

    在我的单元测试中 我需要对两个对象执行深度相等测试 这两个对象应该是相同的 在测试过程中 我发现系统类型中一些有趣的字段破坏了我的代码 Exception xcode是最新的 以下是有关该领域的一些事实 它被初始化为 532459699在所
  • `__CPROVER_fence()` 参数

    我看到类似的代码 CPROVER fence RRfence RWfence 正在像这样的项目中使用Linux RCU 测试 https git kernel org pub scm linux kernel git torvalds li
  • 内存中集成测试和环境变量——.net core

    我们可以执行一个测试服务器来进行集成测试 就像是 这个问题 https stackoverflow com questions 29968788 how do i run in memory integration tests using
  • Flutter返回首页

    我制作了一个应用程序 其中包含相当多的路由 可以相互推送多个全屏对话框 但我想从一个对话框中关闭所有对话框并返回主页 我怎样才能做到这一点 我不想再次推送主页 因为这样我的导航历史记录中仍然有所有这些对话框 是pushReplacement
  • 低级控制台输入和重定向

    我正在尝试将命令发送到a的输入cmd exe使用低级读 写控制台功能的应用程序 我使用以下命令阅读文本 抓取 没有任何问题ReadConsole and WriteConsole 连接到进程控制台后的功能 但我还没有弄清楚如何编写 dir
  • java google Drive api V3 分段和可断点上传

    我需要帮助编写大文件 gt 5MB 的分段和可恢复上传 到目前为止 我只能启动分段上传 但我不知道当用户暂停或网络故障时如何恢复它 我所说的 恢复 是指我不知道如何 1 获取已上传到驱动器的总字节数 2 如何在 Content Range
  • Chrome 和 Firefox 中的 CSS 网格行为不同[重复]

    这个问题在这里已经有答案了 我有一个 2 列 3 行的 CSS 网格 由于有角度的 ngif 子句 第三行内容并不总是存在 图像出现在跨越 3 行的第一列中 话虽如此 我在 Chrome 80 0 3987 87 这是我发布的最新稳定版本
  • 设置 DataGridView 单元格值并添加新行

    我有一个包含两列的 DataGridView 单击第一列中的单元格时 会显示一个 OpenFileDialog 当我选择一个文件时 第二列中的单元格值将设置为所选文件名 这是代码 private void dataGridView1 Cel
  • 如何实现 MVC 4 Web App 服务器端互斥体

    我不是 MVC 专家 但我相当确定这是可以实现的 但是 我不知道如何在 MVC 4 中做到这一点 为了进行测试 我使用了使用 VS 2012 创建网站时提供的默认 Web 应用程序 为简单起见 请考虑多个用户 例如 3 在同一时间点击 Ho
  • 如何使用 Azure CLI 按对象 ID 获取 Azure AD 对象

    在 Azure 门户中 可以根据对象 ID 查找 Azure AD 对象 如下所示 是否可以使用 Azure CLI 通过对象 ID 检索 Azure AD 对象 为了使用Azure CLI获取与对象ID相关的对象 看来我需要提前知道相关资
  • MVC 我的网址正在创建“?Length=4”

    我正在创建一个 MVC4 应用程序 我有一个小问题 我的代码是 li Html ActionLink Contract Contract Home new id lnk contract li 我正在获取网址 http localhost
  • Access SQL 查询:获取按日期查找的上一条记录的特定字段

    我对 Access 数据库非常陌生 我正在尝试为拥有多个加油站的天然气分销公司创建库存数据库 每个站都有更多产品 气体类型的库存 加油站报告其库存 包括 交易日期 售出加仑数 加仑交付 实际加仑库存 预订库存 ActualGallonsIn
  • 如何配置构建类型与产品风格?

    基于这个答案https stackoverflow com a 27908019 5156317 https stackoverflow com a 27908019 5156317我有一个后续问题 是什么让代表产品风味的应用程序与众不同