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

标签 android android-gradle-plugin continuous-integration build.gradle fastlane

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

  • 使用测试后端的开发应用
  • 使用生产后端的开发应用
  • 使用测试后端(企业分发)的测试应用
  • 使用生产后端(企业分发)的测试应用
  • 使用生产后端(应用商店分发)的实时应用

我对 android 设置的看法:

构建类型: 调试测试 调试生产 //不需要企业应用程序,因为在任何设备上都可以使用未签名的应用程序 释放

口味: 我的应用

感谢您的支持!

最佳答案

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

  • 更多口味,
  • 自定义构建配置字段(文档 here),
  • 组合多种产品口味(文档 here)。

您可以使用 BuildConfig 类在应用程序代码中访问构建类型、构建风格和自定义字段。

采用简单风格的方法

  • 构建类型:

    • 调试
    • 发布
  • 口味:

    • 开发
    • 测试
    • 直播

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

  • 开发调试
  • 开发版本
  • 测试调试
  • testRelease
  • liveDebug
  • liveRelease

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

  • flavor 维度:

    • 后端
    • 目标
  • 构建类型:

    • 调试
    • 发布
  • 口味:

    • 目标维度:
      • 开发
      • 测试
      • 直播
    • 后端维度:
      • 生产
      • 测试

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

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

使用构建字段

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

buildConfigField " bool 值", "production_backend", "false"

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

关于android - 如何配置构建类型与产品风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42029224/

相关文章:

java - 无法为对话框设置 View

Android File.listFiles 不显示目录内的所有文件

android - Firebase 云消息传递 Gradle 设置

android - 错误 : configuration 'implementation' to configuration 'internalRelease' is not declared in the descriptor for project

android - jitpack.io - 无法解决

docker - 在Docker环境中使用命令行应用程序的最佳方法是什么?

angular - 如何使用 Angular CLI 生成源映射并将它们上传到 Sentry?

Android - setFocusedMonthDateColor() 和 setUnfocusedMonthDateColor() 在 SDK 级别 23 中已弃用

android - 运行时权限异常

windows - 从 AppVeyor 构建 Qt 项目