我已将我的应用程序作为免费版和专业版发布到 Android 市场。所有源代码都存储在一个 git 存储库中。
我现在想将该应用程序发布到另一个应用程序市场。由于只有少数文件会更改(Android 许可),因此我正在考虑归档此文件的最佳方法。
我认为,一种方法是 Android 库项目。 但是我是否可以使用 git 来归档类似的效果,以便拥有两个共享一个代码库且仅存在几个文件不同的存储库? 由于我目前对git不太熟悉,请准确解释一下我需要做什么或者需要注意的地方。
谢谢。
最佳答案
对应用程序的所有变体使用一个 git 存储库是我存储我的存储库的方式。例如,我的一个应用程序有免费版和专业版,并且在 Android 市场和亚马逊应用程序商店上都有提供。在 git 中,我有 3 个分支:
- 大师
- 专业版
- amzn
Master是免费版本,pro是Android市场的付费版本,amzn是亚马逊应用商店的免费版本。
我在 master 中进行了所有功能更改。一旦我准备好发布,我就会构建并测试免费版本,然后用版本号标记 master。然后我切换到专业版,并运行 git merge master 来引入所有新更改。
由于pro是付费版本,当我第一次从master分支出来时,我注释掉了广告相关的代码(因为只有几行,我认为没有必要重构), 并将所有字符串更改为引用“Some App Pro”,而不仅仅是“Some App”。
在 merge 期间,我通常不会发生任何冲突,并且会保留原始修改。但如果没有,很容易解决冲突并使专业分支恢复无广告状态。
同样,对于 amzn 分支,我最初删除了对 Google 市场的所有引用,并在准备发布时从 master 进行 merge 。
然后对于 pro 和 amzn,我可以构建测试和标记。
为了保持包名称的唯一性(我实际上不确定这是否是必需的),我首先将我的 Activity 移动到新包中,即 com.whatever.free.appname、com.whatever.pro。应用程序名称...
关于android - 维护多个市场的 Android 应用程序(在 Git 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9295257/