我有几个 buildTypes:debug、test、perf、release,有些类只针对特定的 buildtypes。现在我不能做一些事情,比如
/src/debug/java/package/MyClass.kt //variant for debug
和
/src/main/java/package/MyClass.kt //default variant
因为我会得到一个重复的类错误。
我不想为所有默认类型创建MyClass变体,因为目前我最终得到了 3 个相同的类,只是为了替换Debug的变体。
/src/debug/java/package/MyClass.kt //variant for debug
/src/test/java/package/MyClass.kt //variant for default
/src/perf/java/package/MyClass.kt //variant for default
/src/release/java/package/MyClass.kt //variant for default
这样做的最佳方法是什么?
我正在考虑的一个解决方案是创建另一个源并将其添加到 gradlesourcesets
以由每个非调试的 buildType 编译:
/src/debug/java/package/MyClass.kt. //Variant for debug
/src/noDebug/java/package/MyClass.kt. //Variant for default (not debug)
但是,我需要为每个人或它们的每个组合提供一个用于 noDebug、noTest、noPerf、noRelease 的包,这是不可持续的。
我想要的只是:“这个类在构建包中,使用它,如果不是,使用另一个包中的那个”