味道与图书馆?

Ily*_*man 2 android gradle android-productflavors

我刚看完Xavier Ducrohet关于gradle的演讲,我即将开始使用各种口味.我想了解它们与图书馆相比有哪些优势?

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

Tan*_*.7x 9

味道和库不是真正可比的.

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

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

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

Gradle插件用户指南:

如果"这是同一个应用程序吗?"的答案是肯定的,那么这可能是审查图书馆项目的方法.