2015-08-20 69 views
0

不知道这是可能的。我在应用程序的gradle中添加了一个debugCompile到某个库,现在当我在release中编译我的代码时,我收到了一个编译错误。问题是,如果我正在发布,不使用flavors,有没有办法编译/包含代码?Android Studio selectivily编译

回答

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个使用调试专用库的方法。在这个类的发布扩展中,您将这些方法留空,而在调试版本中,您需要编写一些代码。