【问题标题】:Is it possible to exclude certain kotlin files based on build variant in Android?是否可以根据 Android 中的构建变体排除某些 kotlin 文件?
【发布时间】:2019-05-16 07:07:05
【问题描述】:

看到this之类的问题。虽然可以根据产品风格排除某些文件,但是否可以基于构建变体?

我有一些调试依赖项,因此发布版本变体无法编译。

谢谢!

如果你想知道我为什么要尝试这个:Exclude class from kotlin compile path for release build type

【问题讨论】:

标签: android gradle kotlin android-gradle-plugin


【解决方案1】:

在 Android 中,您宁愿有条件地包含而不是排除某些文件。

您只需要使用debug 的源集并将您的类放在那里。

现在这些来源不用于release。但可能需要为release 提供一些无操作实现的虚拟实现,以最终满足编译器的要求。

【讨论】:

  • 谢谢!我最终采用了这种方法。我使用buildConfigField 为基于releasedebug 的接口提供实现。因此,希望排除逻辑也在同一个build.gradle 中。您的解决方案将两者都删除了:)
【解决方案2】:

如果您的文件在变体中有所不同,那么每个变体都不同,而不是排除它们。这让事情变得更清楚了。然后,您的调试依赖项将仅在调试变体中,这正是所有这些的用途。请注意,根据您的代码结构,您可能需要提供虚拟文件(即空类或无操作实现以满足接口等)。

【讨论】:

猜你喜欢
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 2011-06-23
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多