【问题标题】:React native project custom package name for different builds为不同构建反应原生项目自定义包名称
【发布时间】:2019-06-19 00:11:40
【问题描述】:

我正在尝试使用不同的包名称来管理我的 React Native 应用程序项目(CRNA 弹出),以便我可以发布/测试不同的风格:

com.mydomain.internal
com.mydomain.alpha
com.mydomain.beta

理想情况下,我想在我的 git master 分支上开发和测试com.mydomain.internal app 包,并将更改推送到alpha 分支(此分支应该构建com.mydomain.alpha 包),然后将更改推送到@987654325 @分支应该在哪里构建 com.mydomain.beta 应用程序包。

我想避免手动更改每个版本的包名称,因为它涉及很多文件并且很容易破坏东西。我想知道是否有一种好方法可以帮助我维护/更新上述多个应用程序风格/版本。如果图标也可以改,还请指出,以便我可以为不同的口味创建不同的图标。

(我正在考虑配置清单并从静态文件中读取包名,但似乎不起作用)

谢谢!

【问题讨论】:

    标签: git react-native


    【解决方案1】:

    考虑一个脚本可以确定签出分支的名称:

    branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
    

    这意味着您可以(此处使用“config”作为通用术语,将其替换为要修改的正确文件):

    • 版本只有一个模板文件config.tpl
    • 以分支命名的版本值文件:config.devconfig.master:由于它们不同,因此在合并或切换分支时不会出现合并问题。

    最后,您将注册(在 .gitattributes declaration 中)content filter driver

    (图片来自“Customizing Git - Git Attributes”,来自“Pro Git book”)

    与模板文件 (config.tpl) 关联的 smudge 脚本将通过查看右侧 config.<branch> 值文件中的值来生成(自动在 git checkout 上)实际的 config 文件。
    生成的实际config 文件仍然被忽略(由.gitignore)。

    在“git smudge/clean filter between branches”查看完整示例。

    【讨论】:

      【解决方案2】:

      我找到了一个解决这个问题的好方法,叫做Build Varient for Android。这篇文章已经很好地解释了如何设置它:https://medium.com/@ywongcode/building-multiple-versions-of-a-react-native-app-4361252ddde5

      【讨论】:

        猜你喜欢
        • 2021-01-18
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        • 2021-07-30
        • 2020-11-20
        • 1970-01-01
        • 1970-01-01
        • 2023-01-16
        相关资源
        最近更新 更多