如何以编程方式检查应用程序是否在调试模式下运行?

Usa*_*war 38 java android

我必须在我的应用程序的某个地方识别我的应用程序是在调试模式还是实时模式下运行.是否有任何功能或代码可用于检查.在任何一种情况下都会返回true/false开/关.如果是的话,请帮帮我.提前致谢.

Mar*_*ark 27

从调试模式是否涉及的问题不清楚:

  1. 该应用程序是否可调试
  2. 是否正在调试应用程序(例如,通过ADB)

第一个是CommonsWare的回答:

boolean isDebuggable = 0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE);
Run Code Online (Sandbox Code Playgroud)

第二是:

boolean isBeingDebugged = android.os.Debug.isDebuggerConnected()
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/reference/android/os/Debug.html#isDebuggerConnected()


Gan*_*nan 14

if (BuildConfig.DEBUG) {
  // here be thine debug statement
}
Run Code Online (Sandbox Code Playgroud)

在eclipse和Android Studio中工作得非常好.

这里提到的其他常常会为我抛出运行时异常


and*_*per 12

如果通过"实时模式"表示已在Play商店中使用,则可以通过检查BuildConfig.DEBUG的值来区分这两种状态.谷歌在这里展示了一个关于它的视频