Android Studio - 风味可以与其他风味共享代码吗?
Android Studio - Can flavours share code with other flavours?
在我当前的应用程序中,我有 2 个构建,我们称它们为 build 1
和 build 2
。我知道两种风格可以共享公共 code/resources 但也可以有单独的代码和资源,如下所示:
我想做的是扩展 build 2
以便它与另一个构建共享一些代码(例如 build 3
)。要么共享一些代码,例如:
这将是 build2 和 build 3 共享一些 code/resources,同时还能够拥有自己独特的代码集。
或者:
在这里,build 3
正在扩展 build 2
,以便来自 build 2
的所有代码和资源在两个构建中都可用,但 build 3
也可以有自己独特的 code/resources.
我认为扩展 build 2
是最好的方法(如果可能的话),但如果有任何建议或为我指明正确的方向,我将不胜感激。我已经花了 6 个多小时在互联网上搜索,但无济于事。
对此没有很好的支持。如果你真的想这样做,你可以探索一些带有符号链接的 hackery 来尝试使不同的风格有效地共享文件夹,但这会使源代码管理变得有点奇怪,我不能确定它不会引起微妙的问题在构建中。
我鼓励您不要尝试在构建系统中做很多诡计,因为从长远来看 运行 这会使您的应用程序更难编写和维护,尤其是目前 IDE 没有很好的工具来处理跨产品风格的代码(例如,如果您重构代码,则无法将重构应用于非活动产品风格;您一次只能处理一个)。
更好的方法是采用 Build 2 和 Build 3 的共同内容并将其提取到 Android 库模块是那些风格的依赖项,但不是 Build 1 风格的依赖项。不同的产品风格可以有不同的依赖关系,并且支持该机制并且运行良好。
在我当前的应用程序中,我有 2 个构建,我们称它们为 build 1
和 build 2
。我知道两种风格可以共享公共 code/resources 但也可以有单独的代码和资源,如下所示:
我想做的是扩展 build 2
以便它与另一个构建共享一些代码(例如 build 3
)。要么共享一些代码,例如:
这将是 build2 和 build 3 共享一些 code/resources,同时还能够拥有自己独特的代码集。 或者:
在这里,build 3
正在扩展 build 2
,以便来自 build 2
的所有代码和资源在两个构建中都可用,但 build 3
也可以有自己独特的 code/resources.
我认为扩展 build 2
是最好的方法(如果可能的话),但如果有任何建议或为我指明正确的方向,我将不胜感激。我已经花了 6 个多小时在互联网上搜索,但无济于事。
对此没有很好的支持。如果你真的想这样做,你可以探索一些带有符号链接的 hackery 来尝试使不同的风格有效地共享文件夹,但这会使源代码管理变得有点奇怪,我不能确定它不会引起微妙的问题在构建中。
我鼓励您不要尝试在构建系统中做很多诡计,因为从长远来看 运行 这会使您的应用程序更难编写和维护,尤其是目前 IDE 没有很好的工具来处理跨产品风格的代码(例如,如果您重构代码,则无法将重构应用于非活动产品风格;您一次只能处理一个)。
更好的方法是采用 Build 2 和 Build 3 的共同内容并将其提取到 Android 库模块是那些风格的依赖项,但不是 Build 1 风格的依赖项。不同的产品风格可以有不同的依赖关系,并且支持该机制并且运行良好。