当前位置: 首页 > 知识库问答 >
问题:

如何检测我是否处于释放或调试模式?

葛书
2023-03-14

如何在代码中检测到我处于发布模式或调试模式?

共有1个答案

田谦
2023-03-14

最简单、也是最好的长期解决方案是使用buildconfig.debug。这是一个布尔值,对于调试生成,该值将为true,否则为false

if (BuildConfig.DEBUG) {
  // do something for a debug build
}

有报告说,这个值在基于Eclipse的构建中不是100%可靠的,尽管我个人没有遇到过问题,所以我不能说它到底是一个多大的问题。

如果您使用的是Android Studio,或者是从命令行使用Gradle,您可以将自己的内容添加到buildconfig中,或者调整debugrelease构建类型,以帮助在运行时区分这些情况。

非法参数的解决方案基于清单中android:debuggable标志的值。如果这就是您想要区分“调试”构建和“发布”构建的方式,那么根据定义,这是最好的解决方案。但是,请记住,向前看,debuggable标志实际上是一个独立于Gradle/Android Studio所认为的“调试”构建的概念。任何生成类型都可以选择将debuggable标志设置为对该开发人员和该生成类型有意义的任何值。

 类似资料:
  • 我也想过把所有东西都保存在配置文件中,但目前我还不知道是否可以这样做(我正在研究),以及是否方便 sharedPreferences我了解它是如何工作的。 1)我想知道是否有一个方法在应用程序调试与否时返回一个值。

  • 我正试图为我的Android应用程序支持Android Q Dark主题,但我不知道如何根据我目前所在的主题导入不同的资产。 Im使用官方的DayNight主题来制作dark/light版本和drawables非常容易,只需指向XML,它将根据启用的内容从values或values-night中选择正确的值。

  • 问题内容: Java程序如何找出它是否在调试模式下运行? 在常规的“全速”模式下,应用程序的行为应与“调试模式”下(在连接调试器时,在调试模式下运行)的行为有所不同。该应用程序通过TCP与另一台计算机,另一进程或自身内部进行通信。我的同事希望我们默认使用,以便从套接字读取最多可以阻塞1秒钟。调试时,这当然是不够的,并且应用程序将停止正常运行。因此,一种解决方案是设置较高的值,但仅在调试模式下使用(

  • 我正在测试路由器,有两个函数,我需要测试第一个函数是否被调用,第二个函数是否被调用。有方法

  • 问题内容: 我想更改日志记录级别,具体取决于是否在进行调试,但是我找不到代码片段来检查应用程序是否在调试模式下运行。 我正在使用eclipse调试应用程序,因此,如果该解决方案仅在Eclipse中有效,则可以。 问题答案: 您可以修改调试配置。例如,仅在“调试配置”中添加特殊的VM参数。您可以用来读取提供的参数。 更好的是,修改配置(运行和调试)以加载不同的日志记录配置文件。如果需要编写代码来确定

  • 问题内容: 我有一个Java课。如何检查该类是否包含JUnit4测试的方法?我是否必须使用反射对所有方法进行迭代,还是JUnit4提供这种检查? 编辑: 由于注释不能包含代码,因此我根据以下答案放置了代码: 问题答案: 使用内置的JUnit 4类 org.junit.runners.model.FrameworkMethod 来检查方法。