2011-01-30 68 views
8

我想添加我的应用程序的两个版本到Android Market,一个几美分,一个免费版本,与广告。这是一种非常普遍的做法。你如何在市场上发布两个版本的应用程序?

我目前正在建设AdMod到我的应用程序,它似乎我不得不改变相当多的文件,因此它似乎最好让我的应用程序用于这个单独的版本。

你是如何实现这一目标的?分店?不同的存储库?有没有人找到一种合理的方式将这两个应用程序保存在同一个存储库中?

标题没有拼错,我的意思是“意识到”,即人们如何管理这两个版本,而不是他们如何将它们添加到市场。

回答

8

这种事情是一个完整的噩梦 - 不幸的是,Android编译系统真的不支持它在什么好的办法。

我们通过在图书馆项目中使用我们的应用程序的99%的代码来实现它。然后,我们为每个不同版本的应用程序创建一个应用程序项目,每个应用程序项目都使用该库。

,我们需要不同版本的应用程序的不同的行为,我们目前通过其在运行时查询不同的资源实现这一目标。不过,我们正在通过RoboGuice转向使用依赖注入。

这样的元素合理地工作得很好,而其他元素则不合适。例如,需要复制AndroidManifest.xml文件,该文件可能容易出错(例如,将一个新活动添加到一个清单并忘记在其他清单中执行)很容易。不幸的是,这是一团糟,但是我们发现的最差的解决方案。

就个人而言,我强烈建议不要使用分支来实现此效果。他们最初可以很好地工作,但会迅速成为维修的噩梦。

使用库的一个好处是我们发现它使测试变得相当容易。有关如何设置此示例,请参见:

http://www.paulbutcher.com/2010/09/android-library-project-with-tests-step-by-step/

2

人们通常上传两次(如两个不同的程序),只需修改标题添加类似无广告,捐赠等类似的东西。在免费版本中,只需添加免费标签并添加广告支持的描述。

这里是短信弹出应用程序的示例:

SMS Popup Versions Side-by-Side

对于Android市场,它们被认为是不同的程序,但对我们来说是相同的,但一个是广告支持及其他不是。

+0

我想他的意思是如何保持两个版本的开发更容易。所以他不需要单独修改这两个程序,只是因为他想要两个版本。除了广告之外,我还假设两个版本都几乎相同。 – ontrack 2011-01-30 12:36:10

+0

是的,原声说得对。但有人编辑标题,从而改变了问题,所以难怪Nathan错了...... – Metric 2011-01-30 12:37:38

相关问题