味道与图书馆?

时间:2014-07-11 18:29:10

标签: android gradle android-productflavors

我刚看完关于gradle的Xavier Ducrohet presentation,我即将开始使用口味。我想了解它们相对于图书馆的优势是什么?

我知道android库可以拥有它自己的清单/资源,当然还有源代码,口味也是如此。但还有什么呢?我为什么要使用它们?

1 个答案:

答案 0 :(得分:9)

味道和库并不具有可比性。

库通常是一个独立的功能部件,您可以在多个项目中重复使用。它可能提供您经常使用的一项功能,或者它可能提供您在许多应用程序中使用的自定义视图。

产品口味与同一应用程序的版本略有不同。最常见的例子是付费与免费应用程序 - 通过产品风格,您可以拥有一个生成两个版本的代码库。另一个更简单的例子是一个有两种颜色的应用程序 - 您可能有红色产品风味和蓝色产品风味。在这种情况下,唯一的区别可能是资源中的单个颜色字符串。

我认为混淆来自于您可以使用库来实现产品风味系统的目标。也就是说,您可以使用常用功能并将其放在应用程序的每个版本中包含的库项目中。这是实现两个应用之间只有微小变化的目标的混乱方式,如果这是您的目标,则应该使用产品风格。

来自Gradle Plugin User Guide

  

如果“这是同一个应用程序吗?”的答案是肯定的,那么这可能就是了解图书馆计划的方法。