2017-07-27 91 views
1

我一直在做Android的味道一些阅读,以及如何在SO使用它们和其他资源,如时使用Android口味VS独立的项目

1)Building Multiple Editions of an Android App with Gradle

2)Building multiple flavours of an Android app

基于这些示例,android flavours对于构建应用程序的多个版本非常有用。但我的问题是:

service providerconsumer角色具有单独的应用程序(如uber)或更好地构建单独的项目的场景中使用风味是否是一种很好的做法。

使用口味前我们需要考虑的主要属性是什么?

+0

可能因为意见而关闭 - 您可能想尝试收紧一点问题。 –

+1

味道最适合只有资源发生变化的应用程序(初学者级别)。当一个版本的代码比另一个版本多一点时它们也是很好的(但是这可以更先进一些)。在每种风味中有两组非常不同的代码可能会变得非常困难(如果你问这个问题,这不适合你)。例如我曾与一个项目合作的项目有近300个不同的应用程序,不同的启动图标和URL,但代码库完全相同 - 工作得很好。 –

回答

2

从Android的docs公共流:

产品口味代表不同版本的应用程序,你可能 发布给用户,如您的应用程序的免费和付费版本。您可以 自定义产品口味以使用不同的代码和资源,而 可以共享和重复使用您的应用的所有版本通用的部分。

因此,应使用产品风味来创建相同应用的定制版本。不同的风格可能在资源和功能的某些部分不同,但它们几乎是相同的应用程序。

对于构建彼此相关的不同应用程序并共享部分代码,最好使用模块。您将拥有2个应用程序模块和一个包含相同部分代码的库模块。应用程序模块将取决于库模块。

0

创建多个环境与单独的应用程序不同。

我认为,最好的做法是为每个分离的应用程序创建多个环境。

与实例相似,对于许多项目,它们有2个应用程序,一个用于用户,另一个用于管理员。所以在这种情况下,我们为每个应用创建4个环境。

构建多个环境将最大限度地提高生产力并减少可能触及用户的错误。有4个常见的层,可以是有益的

发展 可选。这是个人开发人员或小团队的工作环境。与其他层级独立工作,开发人员可以尝试彻底改变代码,而不会对其他开发团队产生不利影响。

集成 所有开发人员提交代码更改的常见环境。此环境的目标是结合并验证整个项目团队的工作,以便在升级到分段环境之前对其进行测试。开发和集成有可能成为相同的环境(如开发人员不使用源代码的本地副本)。

分段 分段层是一个与生产环境尽可能相同的环境。分段环境的目的是模拟尽可能多的生产环境。临时环境也可以兼作演示/培训环境。

生产 生产层可能包括单个机器或包含许多机器的巨大群集。

,你可以删除,在发展环境中编辑您想要的任何东西,但你不能做同样的生产一个非常常见的用的情况下,只有一个办法是将数据迁移。

幸运的是,Android Gradle支持productFlavors支持我们的东西。

但是,是的,如果您只需要一个适用于管理员应用程序的环境,即接受错误频繁发生的情况,则只能定义一个环境。

这是一个很大的话题,可能这个答案可以帮到你。这是多种环境 enter image description here

相关问题