如何管理同一款安卓应用的多个版本

6

我有三个版本的安卓应用。一个带广告的免费版,一个付费版和一个带有公司CI标识的品牌版。

它们之间的区别很小。

管理这个应用程序的多个版本的最佳实践是什么?

  1. 一个项目,在代码中使用 if (editionA) { ... }
  2. 多个项目,引用额外项目中的公共代码
  3. 还是其他什么?

2
请注意:如果您计划在Android市场上发布它们,它们都需要具有不同的包名称。您可以考虑将基本功能放入Android库项目中。 - Mathias Conradt
可能是重复问题:https://dev59.com/mHM_5IYBdhLWcg3wzmgw - Mathias Conradt
4个回答

8

2
我在我的应用程序中也做了类似的事情。共同的代码库,几个不同的资源集。我有一个Python脚本,将通用源从公共位置复制到src目录,将res_project目录复制到res目录,更新包名称以反映新的应用程序包,并使用适当的值更新AndroidManifest。

我觉得应该有更好的方法来做到这一点,因为你的资源已经很好地与你的源分离了,但是由于应用程序包名称与我的src包名称不同而遇到了问题。我在这里详细介绍了这个过程。

1
我会选择2,这样可以最灵活地使用,而且你可以使用不同的软件包名称,从而能够在设备上同时安装它们(如果你想/需要的话)。

1
创建一个主活动,具有所有功能,使用子活动和布局来处理3种类型的访问?
这样,您只需要维护1个项目和核心功能。
只需在启动时具有初始化程序,以检测要启动的活动即可。

但是如果你想要更改包名,那么你必须创建一个全新的项目。 - james

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接