我的 Android 应用程序中有一些代码用于调试,但不想在生产中使用。有没有办法在 Android、Java 中排除生产版本中的一些代码?就像在 C 中定义、ifdef、endif 一样?
我喜欢断言,它可以在 Android 应用程序的运行配置中启用,但是该断言语句需要断言代码返回一个布尔值,所以这对我不起作用。
谢谢!
我发布此答案是为了提供信息,这并不是建议实际使用断言副作用来更改代码。
话虽如此...
boolean debug = false;
assert debug = true;
if(debug){
/* Do debugging stuff */
}
Java 中没有原生条件编译。但是,这篇文章详细介绍了一种使用 ANT 和评论的方法,例如//[ifdef]
和//[enddef]
https://weblogs.java.net/blog/schaefa/archive/2005/01/how_to_do_condi.html
祝你好运!
还有这个解决方案,它将预处理器指令添加到 Java: