Pregunta

¿Cómo ver los mensajes console.log de un sitio web utilizando el emulador de Android?

¿Fue útil?

Solución

Desde breve artículo de Rich Chetwynd "Depuración de JavaScript en el navegador de Android".

Se puede registrar los errores de javascript y mensajes de la consola desde el dispositivo o emulador de Android. Para ello primero tiene que instalar el SDK de Android y los controladores USB y habilitar la depuración USB en el dispositivo real.

Para comprobar si está conectado el dispositivo de forma correcta, puede usar las siguientes cmd desde el directorio de herramientas SDK de Android y debería ver un dispositivo en la lista

c:\android sdk..\platform-tools\adb devices

A continuación, puede utilizar el puente de Android de depuración para los mensajes de depuración de filtro para que sólo ve los mensajes relacionados navegador ejecutando el siguiente cmd.

c:\android sdk..\platform-tools\adb logcat browser:V *:S

Por defecto, el registro se escribe en la salida estándar por lo que verá los errores de Javascript o mensajes console.log etc escritos en la ventana de cmd.

Otros datos:. Docs Logcat CLI herramienta

Otros consejos

Si ha iniciado el emulador de Eclipse con el ADT plugin, verá todos los registros de la consola JavaScript directamente bajo el punto de vista LogCat:

Window -> Show View -> Android -> LogCat

Se podría añadir algo de JavaScript temporalmente como ...

var console = {
    log: function(msg) { alert(msg); }
};

feo como el infierno, pero funciona.

Me secuestró el console.log utilizando este código:

function logManager() {
    var self = this;

    self.init = function () {
        console.log('logmanager initialized');
        var old = console.log;
        self.logger = document.getElementById('log');
        console.log = function (message, options) {
            if (typeof message == 'object') {
                self.logger.innerHTML = (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />' + self.logger.innerHTML;
            } else {
                self.logger.innerHTML = message + '<br />' + self.logger.innerHTML;
            }
        }
    }
    self.toggleLogVisibility = function () {
        return $(self.logger).toggle();
    };
}

Y lo consumen como tal en su html con su propio estilo (arriba a la derecha absoluta es lo que he usado)

<div id="log" class="log">
    Application loaded...
</div>

Y en su JScript (ejecutar esto en la página cargada como el elemento de registro tiene que existir)

document.lmgr = new logManager();
document.lmgr.init();

Si está usando Android Studio; puede abrir su Logcat (Alt + 6) y el filtro para: :CONSOLE

Filtrado por sólo :CONSOLE (en lugar de INFO:CONSOLE) mostrará todos los tipos de mensajes de la consola (incluyendo ERROR, WARN, etc).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top