我将我的应用程序作为免费和专业版发布到Android市场。所有源代码都存储在一个git存储库中。
我现在想将该应用程序发布到另一个应用程序市场。由于只有少数文件会发生变化(Android许可),我正在考虑将这种文件存档的最佳方式。
我认为,一种方法是Android Library Projects。 但是我可以使用git归档类似的效果,因此我有两个共享一个代码库的存储库,并且只有几个文件不同吗? 由于我目前不熟悉git,请准确说明我需要做什么或需要注意的地方。
感谢。
答案 0 :(得分:4)
对应用程序的所有变体使用一个git repo是我如何存储我的。例如,我的一个应用程序有免费版和专业版,并且可以在Android市场和亚马逊应用商店中使用。在git中,我有3个分支:
Master是免费版本,pro是Android市场上的付费版本,amzn是亚马逊应用商店的免费版本。
我在master中完成了所有功能更改。一旦我准备好发布,我构建并测试免费版本,然后用版本号标记master。然后我切换到专业版,并运行一个git merge master来引入所有新的更改。
由于pro是付费版本,当我第一次从master分支时,我注释掉了与广告相关的代码(因为它只有几行,我认为不需要任何重构), 并更改了任何字符串以引用“Some App Pro”而不仅仅是“Some App”。
在合并期间,我通常没有任何冲突,并保持原始修改。但如果没有,那么很容易解决冲突并让专业分支恢复为免费广告。
同样对于amzn分支,我最初删除了对Google市场的任何引用,并在我准备好发布时从master进行合并。
然后对于pro和amzn,我可以构建测试和标记。
为了保持包名称的唯一性(我实际上不确定是否要求),我首先将我的活动转移到新包中,即com.whatever.free.appname,com.whatever.pro。 APPNAME ...
答案 1 :(得分:0)
为新版本的应用程序设置新分支,执行不同的更改。然后继续处理master分支并在释放新分支之前重新绑定新分支。