gpt4 book ai didi

android - 如何处理不同产品 flavor 的 Assets

转载 作者:行者123 更新时间:2023-12-03 03:29:35 26 4
gpt4 key购买 nike

我有以下问题,其中:

  • 我的Android项目中有多种产品口味。 {说,开发和生产}
  • 我已经有了一个CI,Jenkins可以构建我的项目并发布给不同的团队。
  • 我有一个 Assets 文件,它是特定于 flavor 的,但是取决于服务器上存在的数据。公司列表的json示例。
  • 此列表在“开发”和“生产”上有所不同。
  • 由于这是一个巨大的json,我们将其包含在 Assets 文件夹中。在运行时下载此json将不允许用户至少在第一次使用时快速使用该应用。
  • 当前,在Jenkins编译时,我们wget /下载此json并将它们写入到我们的 Assets 文件夹中。在编译时获取该环境/产品 flavor 的最新 Assets 。
  • 此wget在我的Jenkins中作为shell命令编写。成功完成wget之后,我们运行gradle assembleDev,重复步骤6,然后再执行gradle assembleProduction

  • 现在的问题在于我对在 Jenkins (Jenkins)拥有这个wget感到不舒服,这有两个原因。
    1)开发人员机器上本地测试无法使用特定于环境的 Assets / json,因此他们需要始终保持警惕。
    2)Jenkins中的代码显然不在我的VCS / Git中。我不满意。
    可能的解决方案是什么?
    附言:-从 Angular 来看,我有22种产品口味和8种此类json。

    最佳答案

    在生产设置中,我们目前正在解析Google表格文档以查找变量并将其写入我们的strings.xml文件。
    所以有点类似的情况。

    我们在Gradle构建脚本中执行此操作,该脚本调用Java类,然后执行网络逻辑,将下载的数据返回给Gradle,然后将其写入正确的strings.xml文件。

    这意味着我们所有的代码都存在于我们的git仓库中,并且可以这样处理。

    我觉得这很优雅。

    注意:我们目前无法区分产品口味,但是可以通过在Gradle中添加一些额外的行来轻松实现。

    关于android - 如何处理不同产品 flavor 的 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41061719/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com