【问题标题】:Maintain Android App for Multiple Markets (on Git)为多个市场维护 Android 应用程序(在 Git 上)
【发布时间】:2012-02-15 14:32:57
【问题描述】:

我将我的应用程序作为免费和专业版发布到 android 市场。所有源代码都存储在一个 git 存储库中。

我现在想将应用发布到另一个应用市场。由于只有少数文件会更改(Android 许可),因此我正在考虑将其存档的最佳方式。

我认为,一种方法是 Android Library Projects。 但是我可以通过使用 git 来归档类似的效果,以便我拥有两个共享一个代码库并且只有几个文件不同的存储库吗? 由于我目前对git不太熟悉,请详细说明我需要做什么或需要注意的地方。

谢谢。

【问题讨论】:

  • 考虑为其他应用市场设立另一个分支

标签: android git multiple-versions library-project


【解决方案1】:

对应用程序的所有变体使用一个 git 存储库是我存储我的方式。例如,我的一个应用程序有免费版和专业版,并且可以在 Android 市场和亚马逊应用商店上找到。在 git 中,我有 3 个分支:

  • 主人
  • 专业版
  • amzn

Master是免费版,pro是安卓市场的付费版,amzn是亚马逊应用商店的免费版。

我在 master 中进行了所有功能更改。一旦我准备好发布,我构建并测试免费版本,然后用发布号标记 master。然后我切换到 pro,并运行一个 git merge master 来引入所有新的变化。

由于pro是付费版本,刚从master分支的时候,我把广告相关的代码注释掉了(因为只有几行,我觉得没必要重构), 并将所有字符串更改为引用“Some App Pro”,而不仅仅是“Some App”。

在合并期间,我通常没有任何冲突,并且保留了原始修改。但如果没有,解决冲突并让 pro 分支恢复无广告非常容易。

同样,对于 amzn 分支,我最初删除了对 Google 市场的所有引用,并在我准备发布时从 master 进行合并。

然后对于 pro 和 amzn,我可以构建测试和标记。

为了保持包名称的唯一性(我实际上不确定这是否是必需的),我首先将我的活动移到新包中,即 com.whatever.free.appname、com.whatever.pro。应用名称...

【讨论】:

    【解决方案2】:

    为您的应用程序的新版本设置一个新分支,进行不同的更改。然后继续在主分支上工作,并在发布之前重新建立新分支。

    【讨论】:

    • 变基?这将重写不需要的更改。
    猜你喜欢
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多