0

我有几个 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 的包,这是不可持续的。

我想要的只是:“这个类在构建包中,使用它,如果不是,使用另一个包中的那个”

4

0 回答 0