Android Studio选择性地编译

时间:2015-08-20 08:49:25

标签: android-studio gradle android-gradle

不确定这是否可行。我已经在我的应用程序的gradle中为某个库添加了debugCompile,现在当我在release中编译我的代码时,我遇到了编译错误。问题是如果我在发布时没有使用flavors,有没有办法不编译/包含某个代码行?

1 个答案:

答案 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种方法可以使用特定于调试的库。在这个类的发行版扩展中,您将这些方法留空,而在调试版本中,您可以编写一些代码。