Necesito una forma de comprobar si mi aplicación de Android está siendo depurada o no (hay una condición que comprobamos al inicio que específicamente no quiero verificar cuando se está ejecutando el depurador). existe tal bestia?¿Cómo puedo saber si estoy en el depurador en Android?
Respuesta
Debe mirar isDebuggerConnected.
Pero se considera una muy mala práctica hacer que el comportamiento de su aplicación dependa de si el depurador está conectado o no. Esto puede llevar a algunos errores difíciles de atrapar. Así que ten cuidado.
Esto fue específicamente para realizar algunas tareas de limpieza en el caso de que la aplicación falle gravemente (por ejemplo, un kill -9 en adb), ya que la aplicación se agota cuando inicia el depurador (mata la ejecución anterior de la aplicación y comienza una nueva) para la depuración) Quería bloquear la colocación de una notificación de la mala salida, ya que pensé que eso molestaría a los desarrolladores que intentan depurar. –
El comportamiento de la aplicación pequeña puede ser diferente en el depurador, en mi caso solicitando recursos xml "con formato bonito" de llamadas http cuando depuro, y obteniendo condensado de lo contrario. –
Puedo usar los métodos isDebuggerConnected y waitingForDebugger de android.os.Debug para detectar este estado.
-1 porque es un duplicado de la respuesta de inazaruk – rds
+1 También tiene la sugerencia útil de que hay un método 'waitingForDebugger' para cuando se ejecuta el código antes de que se conecte el depurador. Todo esto es muy útil cuando se depuran casos de prueba en una situación de subproceso concurrente para definir tiempos de espera excedidos. – zsawyer
- 1. ¿Cómo puedo saber en qué subrutina estoy?
- 2. ¿Cómo puedo saber si estoy huyendo de JRuby vs. Ruby?
- 3. ¿Cómo saber si estoy en una devolución de datos?
- 4. ¿Cómo puedo saber si la pantalla está activada en Android?
- 5. Learning Git. Necesito saber si estoy en el camino correcto
- 6. ¿Cómo saber si estoy conectado con éxito a mi número saliente en Android?
- 7. En Linux, ¿cómo puedo saber si estoy enlazando a una biblioteca estática o dinámica?
- 8. ¿Cómo puedo saber si estoy corriendo en una máquina virtual VMWARE (desde Linux)?
- 9. ¿Cómo puedo saber si estoy en una pila de excepción de Delphi?
- 10. ¿Cómo puedo saber si estoy en x64 o x86 usando .NET?
- 11. ¿Cómo saber si el teclado (dis) aparece en Android?
- 12. ¿Cómo puedo saber si la cámara está en uso?
- 13. PHP: cuando se utiliza foreach para recorrer el conjunto, ¿cómo puedo saber si estoy en el último par?
- 14. ¿Cómo saber si la tarjeta SD está montada en Android?
- 15. ¿Cómo puedo saber qué versión de Cassandra estoy ejecutando?
- 16. ¿Cómo puedo detectar si estoy ejecutándose en la consola?
- 17. ¿Cómo puedo verificar si estoy ejecutando Windows en Python?
- 18. ¿Cómo saber si tengo una llamada en Android?
- 19. ¿Cómo puedo saber si estoy antes de guardar desde una edición o una creación? CakePHP
- 20. ¿Cómo puedo saber qué versión de Javascript estoy usando?
- 21. ¿Cómo puedo saber qué versión de OpenGL estoy usando?
- 22. ¿Cómo puedo saber qué versión de TinyMCE estoy ejecutando?
- 23. ¿Cómo puedo saber si una columna es auto_increment en mysql?
- 24. ¿Cómo puedo saber si un Arrastramiento ha finalizado en Winforms?
- 25. ¿Cómo puedo saber si se presiona el cambio usando RawInput?
- 26. Android 2.2 - ¿Cómo puedo detectar si estoy instalado en la tarjeta SD o no?
- 27. Cómo puedo saber en qué página estoy en una aplicación MVC de ASP.NET
- 28. ¿Puede un sitio web saber si estoy ejecutando un UserScript?
- 29. ¿Cómo puedo saber si una impresora imprimirá en un archivo?
- 30. ¿Cómo puedo saber en elisp si Emacs usa X?
Lo encontré - android.os.Debug tiene métodos que puedo usar para esto. –