Cómo comprobar mediante programación si la aplicación se está ejecutando en modo de depuración o no?
Tengo que identificar en algún lugar en mi aplicación que, si mi aplicación se ejecuta en modo de depuración o en vivo. ¿Hay alguna función o pieza de código disponible para comprobar que. Que devuelve true / false en cualquier caso on / off. Si es así, por favor ayúdame. Gracias por adelantado.
- Diseño de fragmentos: ¿Cómo adaptarse a múltiples diseños de pantalla mostrando / ocultando fragmentos dentro de una sola actividad?
- ¿Cómo @Proveer una actividad para el MortarActivityScope, sin filtrar la Actividad en los cambios de orientación?
- ¿Pasar un contexto de una actividad a una clase estática mantener esa actividad para siempre? ¿Pérdida de memoria?
- ¿Cómo encontrar la ruta a NDK?
- Cómo incrustar el servidor i-jetty en la aplicación Android?
- Errores en Eclipse sin ninguna razón
- Android itext usando fuentes de activos y texto utf-8
- Inyección del presentador con Dagger 2
- No se puede obtener la ubicación y el correo electrónico mediante la API de Facebook
- Android Comprobación de si un tamaño de archivo ha excedido un determinado valor
- Android Turn-by-Turn API?
- Cuerdas y gestión de memoria
- Cómo deshabilitar el botón de nuevo presionado en la clase de fragmento de Android
La respuesta que @ Imrtality proporciona es la correcta:
boolean isDebuggable = ( 0 != ( getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) );
(Desde esta entrada de blog de Google )
( UPDATE : probablemente el &=
debería ser justo &
en la expresión anterior, aunque &=
es lo que Google tiene en su blog)
Gracias por la cooperación, pero no está funcionando en mi caso
Siento escuchar eso. Por supuesto, ya que explicar lo que "no funciona en mi caso" es algo que elegiste omitir, no puedo ayudarte más.
No está claro de la pregunta si el modo de depuración se refiere a:
- Si la aplicación es debuggable o no
- Si la aplicación se está depurando (por ejemplo, sobre ADB)
La primera está cubierta por la respuesta de CommonsWare :
boolean isDebuggable = 0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE);
La segunda es:
boolean isBeingDebugged = android.os.Debug.isDebuggerConnected()
https://developer.android.com/reference/android/os/Debug.html#isDebuggerConnected ()
En caso de que por "modo en directo" que significa firmado para su uso en la tienda de juego, puede diferenciar entre los 2 estados mediante la comprobación del valor de BuildConfig.DEBUG. Google ha mostrado un video sobre él aquí
if (BuildConfig.DEBUG) { // here be thine debug statement }
Funciona muy bien en eclipse y Android Studio.
Los otros mencionados aquí suelen arrojar excepciones de tiempo de ejecución para mí
- Transferencia de datos a través de un cable de conexión de audio a través de dos dispositivos Android
- Android – Cambiar el tema de la aplicación en onClick