我正在尝试使用不同的包名称来管理我的React Native应用程序项目(弹出CRNA),以便发布/测试不同的版本:
com.mydomain.internal
com.mydomain.alpha
com.mydomain.beta
理想情况下,我想在git master分支上开发和测试com.mydomain.internal
应用程序包,并将更改推送到alpha
分支(此分支应构建com.mydomain.alpha
包),然后将更改推送到beta
应用包所在的分支。
我想避免为每个发行版手动更改软件包名称,因为它涉及很多文件,并且很容易造成问题。我想知道是否有一种很好的方法可以帮助我维护/更新上述多个应用程序版本/版本。如果图标也可以更改,请也指出这一点,以便为不同的口味创建不同的图标。
(我正在考虑配置清单并从静态文件中读取包名称,但似乎不起作用)
谢谢!
答案 0 :(得分:0)
考虑脚本可以使用以下命令确定已检出分支的名称:
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
这意味着您可以(在此处使用“ config”作为通用术语,将其替换为正确的文件以进行修改):
config.tpl
config.dev
,config.master
:由于它们是不同的,因此合并或切换分支时没有合并问题。最后,您将(在.gitattributes
declaration中注册 content filter driver 。
(来自“ Customizing Git - Git Attributes”的图像,来自“ Pro Git book”的图像)
与模板文件(smudge
关联的config.tpl
脚本将通过在右侧{中查找值来生成(自动在git checkout
上)实际的config
文件。 {1}}值文件。
生成的实际config.<branch>
文件仍然被config
忽略。
在“ git smudge/clean filter between branches”中查看完整的示例。
答案 1 :(得分:0)
我为Android找到了一个很好的解决方案Build Varient
。本文对如何设置进行了很好的解释:https://medium.com/@ywongcode/building-multiple-versions-of-a-react-native-app-4361252ddde5