【发布时间】:2019-05-16 07:07:05
【问题描述】:
看到this之类的问题。虽然可以根据产品风格排除某些文件,但是否可以基于构建变体?
我有一些调试依赖项,因此发布版本变体无法编译。
谢谢!
如果你想知道我为什么要尝试这个:Exclude class from kotlin compile path for release build type
【问题讨论】:
标签: android gradle kotlin android-gradle-plugin
看到this之类的问题。虽然可以根据产品风格排除某些文件,但是否可以基于构建变体?
我有一些调试依赖项,因此发布版本变体无法编译。
谢谢!
如果你想知道我为什么要尝试这个:Exclude class from kotlin compile path for release build type
【问题讨论】:
标签: android gradle kotlin android-gradle-plugin
在 Android 中,您宁愿有条件地包含而不是排除某些文件。
您只需要使用debug 的源集并将您的类放在那里。
现在这些来源不用于release。但可能需要为release 提供一些无操作实现的虚拟实现,以最终满足编译器的要求。
【讨论】:
buildConfigField 为基于release 或debug 的接口提供实现。因此,希望排除逻辑也在同一个build.gradle 中。您的解决方案将两者都删除了:)
如果您的文件在变体中有所不同,那么每个变体都不同,而不是排除它们。这让事情变得更清楚了。然后,您的调试依赖项将仅在调试变体中,这正是所有这些的用途。请注意,根据您的代码结构,您可能需要提供虚拟文件(即空类或无操作实现以满足接口等)。
【讨论】: