Android Studio - 可以与其他口味共享代码吗?

时间:2015-01-12 14:42:59

标签: android android-studio android-build

在我目前的应用中,我有2个版本,我们称之为build 1build 2。我知道两种风格可以共享公共代码/资源,但也可以有单独的代码和资源,如下所示:

Two Flavours Diargram

我想要做的是展开build 2,以便它与另一个版本共享一些代码(例如build 3)。共享一些代码,如下所示:

Two Flavours Sharing Code

这将是build2和build 3共享一些代码/资源,同时还能够拥有自己独特的代码集。 或者:

Build 3 Extending Build 2

此处,build 3正在扩展build 2,以便build 2中的所有代码和资源都可用于两个版本,但build 3也可以拥有自己的唯一代码/资源。

我认为延长build 2是最好的方式(如果可能的话),但任何建议或指向正确的方向都会非常感激。我花了6个多小时在互联网上搜索无济于事。

1 个答案:

答案 0 :(得分:8)

对此并不是很好的支持。如果你真的想要这样做,你可以通过符号链接来探索一些hackery,试图让不同的风格有效地共享文件夹,但这会让事情变得有些怪异,有源代码控制,我无法确定它是否赢得了#。在构建中引起微妙的问题。

我鼓励你不要在构建系统中尝试做很多技巧,因为从长远来看,它会使你的应用程序更难编写和维护,特别是因为目前IDE并不好处理产品风格代码的工具(例如,如果您重构代码,那么无法在非活动产品风格中进行重构;您一次只能使用一个)。

更好的方法是将构建2 构建3 中常见的内容解压缩到一个Android库模块中。 ;对于那些风味的依赖,但不是 Build 1 风格的依赖。不同的产品风格可以具有不同的依赖关系,并且该机制得到支持并且运行良好。