在Android、Java中从生产中排除代码
我在我的Android应用程序中有一些用于调试的代码,但不想在生产中使用。在Android、Java中是否有办法排除生产版本中的某些代码?就像在C中使用define、ifdef、endif一样 我喜欢断言,它可以在Android应用程序的运行配置中启用,但该断言语句需要断言代码返回布尔值,所以这对我来说不起作用在Android、Java中从生产中排除代码,java,android,Java,Android,我在我的Android应用程序中有一些用于调试的代码,但不想在生产中使用。在Android、Java中是否有办法排除生产版本中的某些代码?就像在C中使用define、ifdef、endif一样 我喜欢断言,它可以在Android应用程序的运行配置中启用,但该断言语句需要断言代码返回布尔值,所以这对我来说不起作用 谢谢 我发布这个答案是为了提供信息,这并不是一个建议,实际上使用断言的副作用来修改代码 话虽如此 boolean debug = false; assert debug
谢谢 我发布这个答案是为了提供信息,这并不是一个建议,实际上使用断言的副作用来修改代码 话虽如此
boolean debug = false;
assert debug = true;
if(debug){
/* Do debugging stuff */
}
Java中没有本机条件编译。但是,本文详细介绍了使用ANT和注释(如
/[ifdef]
和/[enddef]
祝你好运 还有一个解决方案,它向Java添加预处理器指令:
您是希望在编译的字节码中省略调试代码,还是不希望调试代码运行?如果代码不运行,对我来说已经足够了,但最好是在编译的字节码中省略调试代码。@Geobits您链接到的解决方案很好,谢谢!有趣的是,我很确定Java中会有一些本机条件编译,但显然不是。我会查看你的链接,但我认为出于我的需要,@Geobits post的链接提供了一个对我来说足够好的解决方案