RC,Lite和Full app的Android项目结构

时间:2012-05-14 13:44:13

标签: android google-play

我正在为Android Marketplace筹划应用。

首先,我想将其作为免费RC发布进行公开测试,以便在我将Full应用程序作为付费应用程序发布之前收集一些反馈。当RC被完整版替换时,我将发布一个有一些限制的免费精简版。

计划是添加一组基本功能,对RC没有任何限制

稍后会有

  • 具有更多功能的完整付费版本
  • 精简版免费版,功能与“完全”相同,但有一定限制。

我正在寻找一些关于如何规划项目结构的建议,以避免在应用程序发展过程中大量重构/移动代码。

这样的事情看起来合理吗?

  • 主要分支
  • RC免费应用程序源自MAIN分支,并在准备好时发布到市场
  • 当RC生命周期结束时,来自RC的所有更改都将合并到MAIN分支中,并且RC分支将停止。 RC应用程序现在也从市场撤出。
  • Lite免费应用程序源自MAIN分支,一些限制适用于Lite分支
  • MAIN分支现在是Full pay app的分支。当Full应用程序的新版本准备就绪时,更改将合并到Lite分支中,以便添加新功能而不会删除任何限制。

2 个答案:

答案 0 :(得分:1)

前一段时间我遇到了同样的问题,我决定采用以下结构。 (我有一个带LITE / PAID版本的应用程序。)

我为这两个版本使用单个代码库,我可以通过maven来做到这一点。 有了它,我可以构建我需要的目标版本。

我的Maven(pom.xml)配置如此配置,它创建一个全新的源库,重构包名称,更改AndroidManifest,替换图标,替换属性文件,使用正确的键构建和签名APK全部使用单个命令行:

mvn install -Dedition=lite -P release

我认为这是一个很好的解决方案,唯一的缺点是需要一些工作来正确配置你的pom.xml(特别是如果你不熟悉maven)。

希望这有帮助

答案 1 :(得分:0)

如果您(更)熟悉/熟悉Eclipse ADT,那么设置一个图书馆项目和两个相关项目(精简版,完整版)可能是另一种方法。详情请见firstlightassociatesdonnfelker

  • com.example.myapp - Android ,包含所有代码和运行时检查包名称,以打开/关闭特定功能。
  • com.example.myapp.full - Android应用程序。任何完整版本特定资产。
  • com.example.myapp.lite - Android应用程序。任何 lite 版本特定资产。