Cómo depurar servicios en el desarrollo de Android
En el desarrollo de Android, agregue código para depurar servicios.
Introducción
Al iniciar un proyecto de Android en modo de depuración, establecer un punto de interrupción en el servicio no detendrá el depurador.
Solución alternativa
En todos estos casos se declara en el código. El método de llamada es:
Android.OS.debug.waitfordebugger();
Por ejemplo, teclado virtual:
La clase pública SoftKeyboard extiende InputMethodService para implementarlo. Vista de teclado. OnKeyboardActionListener { @Override public void onConfigurationChanged(Co configuración nueva configuración){ log . d("teclado virtual", "onConfigurationChanged()"); /* Ahora esperemos hasta que se conecte el depurador */ Android OS . ) ;super .onconfigurationchanged(new config); /*Haz algo útil...*/ }
Como puedes ver en el código, lo primero es llamar al registrador. Cuando el código se ejecuta aquí, se agregará un registro a logcat, que es una forma de realizar un seguimiento de la ejecución del código y se puede utilizar si no es necesario detenerse en un punto de interrupción. Pero a menudo esto no es suficiente para una depuración más detallada.
La segunda declaración espera a que se agregue el depurador. Después de agregar esta declaración, puede agregar puntos de interrupción en cualquier parte de este método.
Depurar un servicio es más fácil cuando la actividad también forma parte de la aplicación. En este caso, primero debe iniciar la actividad y el depurador también se puede detener en el punto de interrupción del servicio sin llamar a waitForDebugger().