java - 包含调试代码的最佳方式?

标签 java android debugging buildconfig

我正在编写 Android 应用程序,这里最好的方法可能与 Java 相同,也可能不同。

我只是希望能够设置一个调试标志,该标志仅在设置为 true 时执行代码的某些部分——相当于 C++ 设置预处理器#define DEBUG 并使用#ifdef DEBUG。

在 Java 中是否有公认的或最好的方法来实现这一点?

现在我只想在我的 Application 对象中设置一个变量,但我认为这不是最好的方法。

最佳答案

您可以使用 ADT 自动设置的标志,而不是使用自己的标志,如下所示:

final static int appFlags = context.getApplicationInfo().flags;
final static boolean isDebug = (appFlags & ApplicationInfo.FLAG_DEBUGGABLE) != 0

FLAG_DEBUGGABLE 位会自动设置为 true 或 false,具体取决于应用程序的“可调试”属性(在 AndroidManifest.xml 中设置)。最新版本的 ADT(版本 8)在不导出签名包时会自动为您设置此属性。

因此,您不必记住设置/重置自己的自定义标志。

您可以在 this thread 中阅读更多信息.

关于java - 包含调试代码的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718565/

相关文章:

java - ManyToMany 注释不会在选择查询中生成联接

java - 处理奇数和偶数元素的最有效方法是什么?

c - 如何将 KdPrint 定义为 DbgPrint?

android - 在ANDROID编程中从位图图像复制位矩阵

php - 如何在同一个 php 中将两个 Select 查询的输出合并到一个 JsonObject 中?

php - 你如何调试 php "Out of Memory"问题?

perl - 为 Perl 程序员调试的工作流程

java - 构建和安装 Apache Atlas 时出错

java - 如何在安卓上创建放大镜

android - 任务 ':CordovaLib:compileDebugRenderscript' 执行失败。 > 缺少 llvm-rs-cc