不确定这是否可行。我已经在我的应用程序的gradle中为某个库添加了debugCompile
,现在当我在release
中编译我的代码时,我遇到了编译错误。问题是如果我在发布时没有使用flavors
,有没有办法不编译/包含某个代码行?
答案 0 :(得分:1)
如果您不想使用flavors
,那么您可以做的一件事就是将使用某些特定于调试的库的代码放入if
子句中,如下所示:
if (BuildConfig.DEBUG) {
// do your debug-specific actions here
}
在发布版本中,此if
子句及其中的代码将被编译器抛弃为未使用。但是,您仍然会遇到编译时错误,说有一些代码使用了未定义的库。解决方案是在发布版本中包含gradle compile
指令:
compile 'com.foo:bar:1.2.3'
第二件事是使用一些第三方java预处理器,如this one。
选择权在你手中,但我更喜欢保持口味。您总是可以编写一些抽象类,它有2-3种方法可以使用特定于调试的库。在这个类的发行版扩展中,您将这些方法留空,而在调试版本中,您可以编写一些代码。