【问题标题】:Android Studio - Can flavours share code with other flavours?Android Studio - 风味可以与其他风味共享代码吗?
【发布时间】:2015-03-10 08:54:09
【问题描述】:

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

我要做的是扩展build 2,以便它与另一个构建共享一些代码(例如build 3)。共享一些代码,例如:

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

在这里,build 3 扩展了 build 2,因此来自 build 2 的所有代码和资源在两个版本中都可用,但 build 3 也可以拥有自己独特的代码/资源。

我认为扩展 build 2 是最好的方法(如果可能的话),但任何建议或指出我正确的方向将不胜感激。我花了 6 个多小时在互联网上搜索,但无济于事。

【问题讨论】:

    标签: android android-studio android-build


    【解决方案1】:

    对此没有很好的支持。如果你真的想这样做,你可以探索一些带有符号链接的黑客,以尝试使不同的风格有效地共享文件夹,但这会使源代码控制变得有点奇怪,而且我不能确定它不会引起微妙的问题在构建中。

    我鼓励您不要尝试在构建系统中做很多花招,因为从长远来看,这会使您的应用程序更难编写和维护,尤其是因为目前 IDE 还没有很好的工具来支持处理跨产品风格的代码(例如,如果您重构代码,则无法将重构应用于非活动产品风格;您一次只能使用一个)。

    更好的方法是将 Build 2Build 3 共有的内容提取到一个 Android 库模块中,该模块是这些风格的依赖项,但不适用于 Build 1 风格。不同的产品风格可能有不同的依赖关系,并且该机制得到支持并且运行良好。

    【讨论】:

    • 谢谢。我只是暂时离开它。我真的不想做一种会使代码库过于复杂的骇人听闻的方式。感谢您的快速回复和答复!
    • 你可以尝试使用sourceSets,比如in this question
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 2017-08-10
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2023-03-10
    • 2020-11-17
    相关资源
    最近更新 更多