如何以编程方式检查应用程序是否在debugging模式下运行?
我必须在我的应用程序中的某个地方确定,无论我的应用程序是以debugging模式还是以实时模式运行。 有没有任何function或一段代码可用来检查。 在任何一种情况下都会返回true / false。 如果是的话,请帮助我。 提前致谢。
@ ImOrtality提供的答案是正确的:
boolean isDebuggable = ( 0 != ( getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) );
(从这个Google博客文章 )
( 更新 :在上面的expression式中,可能&=
应该只是&
,尽pipe&=
是Google在其博客文章中的内容)
感谢合作,但对我来说不起作用
我很抱歉听到这个消息。 当然,由于解释了“不适合我的情况”是你select跳过的东西,我不能再帮你了。
debugging模式是指:
- 该应用程序是否可debugging
- 无论该应用程序目前是否正在debugging(例如通过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();
如果您使用的是“实时模式”,表示您在Play商店中使用,您可以通过检查BuildConfig.DEBUG的值来区分这两种状态。 Google 在这里展示了一个关于它的video
if (BuildConfig.DEBUG) { // here be thine debug statement }
在eclipse和Android Studio中工作得非常好。
在这里提到的其他人经常会为我引发运行时exception
- 阿尔法testing人员在哪里下载Google Play Android应用?
- 什么是ImageView的默认ScaleType?
- java.lang.IllegalArgumentException:包含一个path分隔符
- Android Studio编译错误:枚举常量INSTANT_RUN_REPLACEMENT在类中不存在
- android.view.InflateException:二进制XML文件:错误膨胀类的片段
- 无法实例化android.gms.maps.MapFragment
- 错误:状态{statusCode = DEVELOPER_ERROR,分辨率=空}
- 我怎样才能parsing出点,并在Android的谷歌地图绘制路线?
- Android的HTML.fromHTML()与图像?