繁体   English   中英

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

[英]How to check programmatically whether app is running in debug mode or not?

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

用户@ Im0rtality在评论中提供的答案是正确的:

boolean isDebuggable = (0 != (getApplicationInfo().flags
                              & ApplicationInfo.FLAG_DEBUGGABLE));

(来自这篇Google博文

有关:

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

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

第一个是CommonsWare的回答

boolean isDebuggable = 0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE);

第二是:

boolean isBeingDebugged = android.os.Debug.isDebuggerConnected()

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

if (BuildConfig.DEBUG) {
  // here be thine debug statement
}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM