同时开发免费版和高级版

时间:2014-02-25 18:30:49

标签: java android eclipse

当你编写一个应该有两个版本的应用程序,一个免费版本(可能带有广告)和一个高级版本(没有广告但更多的功能),你如何在IDE中管理这些版本?你把它们视为两个独立的项目吗?我认为这不是一个好主意,因为每次你改变两个版本的一部分,你必须改变它两次。但是,如果您只使用一个项目进行开发,那么如何导出两个不同的应用程序?应用程序应该有不同的清单文件(可能还有其他差异,至少是一个布尔标志,告诉程序它是免费还是高级版本)。一个项目是不可能的,不是吗?

所以我想知道你是如何专业开发此类应用程序的。

此外,我想知道如何确保安装高级版本将覆盖免费版本(如果已安装)。

2 个答案:

答案 0 :(得分:2)

为了克服重复的代码问题,您将大部分代码放在库中。使用Eclipse,可以很容易地在库中转换项目,并且可以重用任何组件,包括活动和资源(而不是资产)。

安装应用程序的高级版本不会覆盖免费版本,因为它们是不同的软件包,并且被视为不同的应用程序(而不是同一应用程序的不同版本)

您还可以考虑实施应用内购买以解锁高级功能。

答案 1 :(得分:2)

在许多构建系统(包括Grade,Android Studio的默认设置)中,您可以将构建配置为具有“风格”或“构建变体”。这种风格可以做任何事情,从更改构建期间使用的库/常量到更改应用程序的包名称。因此,我喜欢做的是配置开发构建(大量日志记录,这可能会影响生产构建中的性能或泄漏数据),发布版本,有时还有针对不同分发渠道的多个版本构建(Nook vs Play等)。

在拥有免费与付费应用程序方面,我更喜欢获得免费应用程序的用户体验,然后付费将其解锁以进行卸载/安装。但是,如果分销渠道不支持应用内付款,那么你不能真正做到这一点,我建议使用构建风格来构建多个软件包。