studio phone from emulator debuggear debug chrome about android debugging webkit

phone - javascript console android



¿Cómo puedo depurar javascript en Android? (19)

Android Studio proporciona todo lo que necesita para ver console.log y otros. En logcat, simplemente filtre a "/ Consola Web" y verá sus registros js ...

Si tiene algún problema, puede agregar este complemento: https://github.com/apache/cordova-plugin-console

Estoy trabajando en un proyecto que involucra a Raphaeljs. Resulta que no funciona en Android. Lo hace en el iPhone.

¿Cómo diablos hago para depurar algo en el navegador de Android? Es WebKit, así que si conozco la versión, ¿la depuración en esa versión completa de WebKit producirá los mismos resultados?


Cuando ejecute el emulador de Android, abra su navegador Google Chrome y, en el ''campo de dirección'', ingrese:

chrome://inspect/#devices

Verás una lista de tus objetivos remotos. Encuentra tu objetivo y haz clic en el enlace ''inspeccionar''.


De acuerdo con este link , la depuración de javascript se puede realizar descargando el archivo firebug.js mencionado en el link y cargando el archivo descargado en su página HTML para que pueda realizar la depuración sin necesidad de recurrir a Internet.


Depuración remota completa de Chrome del navegador nativo de Android en un Galaxy S6 en Android 5.1.1:

  1. Habilitar la depuración USB en el teléfono (Configuración, acerca de, toque rápidamente el número de compilación, configuración del desarrollador, depuración USB)
  2. Abrir "internet"
  3. Vaya a ''about: debug'' (verá un error)
  4. MÁS menú> Configuración> Depurar> Depuración remota
  5. Conecte el teléfono a la computadora con un cable USB
  6. En el teléfono, en el navegador de Internet, abra el sitio que desea depurar
  7. Abre Chrome en la computadora
  8. Vaya a ''chrome: // inspeccionar''
  9. Haga clic en inspeccionar en la pestaña del navegador que desea inspeccionar.

Los dispositivos Galaxy S5 se muestran en Chrome pero las pestañas solo se muestran después de reiniciar. Después de reiniciar e intentar adjuntar, el navegador móvil falla.


Echa un vistazo a jsHybugger . Te permitirá depurar remotamente tu código js para:

  • Aplicaciones híbridas de Android (webview, phonegap, worklight)
  • Páginas web que se ejecutan en el navegador de Android predeterminado (no Chrome, es compatible con la extensión ADB sin esta herramienta)

Cómo funciona esto (más detalles y alternativas en el sitio de proyectos, esto fue lo que encontré que era la mejor manera).

  1. Instala el APK jsHybugger en tu dispositivo
  2. Habilita la depuración USB en tu dispositivo.
  3. Conecte el dispositivo Android a su computadora de escritorio a través de USB
  4. Ejecute la aplicación en el dispositivo Android (''jsHybugger'')
  5. Introduzca la URL y la página de destino en la aplicación. Presiona Start Service y finalmente abre el navegador
    • Aparecerá una lista de los navegadores instalados, elige uno.
    • Se inicia el navegador.
  6. De vuelta en su computadora de escritorio, abra Chrome to chrome: // inspect /
  7. Aparecerá una ventana de inspectores con las herramientas de depuración de Chrome vinculadas a la página en el dispositivo Android.
  8. depurar lejos!

Nuevamente, con Chrome en Android, use la extensión ADB sin jsHybugger. Creo que esto ya se describe en la respuesta aceptada a esta pregunta.



El about:debug (o chrome://debug que no se puede encontrar en la página, pero habilita el menú Depurar en la configuración) cuando se probó en Chrome u Opera en Android KitKat 4.4.2 en una pestaña de Samsung

Si tiene permisos ROOT en su dispositivo, puede ver los mensajes de la consola directamente en el dispositivo. Utilice una aplicación como CatLog para ver el resultado del registro: https://play.google.com/store/apps/details?id=com.nolanlawson.logcat&hl=en Esto le permitirá ver toda la actividad de logcat.

En Android KitKat / 4.4.2, la consola del navegador se envía al canal Chromium. Puede filtrar por "Chromium" para obtener toda la actividad del navegador (incluida la actividad interna del navegador), o simplemente filtrar por "Consola" para ver solo el registro de la consola del navegador.

chromium [INFO:CONSOLE(3)] "The key "x-minimal-ui" is not recognized and ignored.", source http://mywebsite.com/ (3)


Mi solución es (para el navegador de valores):

  • Navegador de stock
  • "consolo.log" en el código fuente de JS
  • Depuración de USB habilitado
  • SDK de Android
  • Desde el SDK de Android: monitor.bat
  • Monitor de filtro como imagen adjunta.

Para su información, la razón por la que RaphaelJS no funciona en Android es que Android Webkit (a diferencia del iPhone Webkit) no es compatible con SVG en este momento. Google acaba de llegar a la conclusión de que SVG es compatible con Android y es una buena idea, por lo que no estará disponible por un tiempo.


Poner en la dirección de la línea de chrome://about . Verás enlaces a todas las páginas de desarrollo posibles.


Puede probar "javascript-compiler-deva" desde la biblioteca npm ejecutando el comando "npm install javascript-compiler-deva" y luego ejecutando el compiler.is usando "node compiler.js".

Crea un servidor en el puerto 8888. Luego puede presionar " http: // localhost: 8888 " e ingresar su código JavaScript y puede ver el resultado de cualquier código JavaScript, incluyendo "console.log" en el navegador del teléfono.

También está alojado en " https://javascript-compiler-deva.herokuapp.com/ "


Puedes probar YConsole una consola embebida js. Es ligero y fácil de usar.

  • Registros de captura y errores.
  • Editor de objetos

Cómo utilizar :

<script type="text/javascript" src="js/YConsole-compiled.js"></script> <script type="text/javascript" >YConsole.show();</script>


Raphael no es compatible con los navegadores Android pre 3.0, ese es tu problema. No tienen soporte para gráficos SVG. Aunque tiene soporte para lienzo. Si no necesita animarlo, puede renderizar los gráficos con canvg:

http://code.google.com/p/canvg/

Así es como resolvimos este problema para representar iconos SVG en el navegador predeterminado de Android.


Si buscas opciones no remotas:

En versiones anteriores y no rooteadas de Jellybean, se puede usar un visor logcat si android.permission.READL_LOGS se otorga a través de adb una vez.

En Firefox, hay un complemento de consola que lee y muestra todos los registros de aplicaciones y también hay Firebug Lite .


Si está creando una aplicación ''híbrida'' (cordova), el complemento CrossWalk utiliza la vista web google chromes en lugar de la vista web estándar de Internet que viene con Android. Cuando instalé el complemento, vino con la capacidad de depurar.

CrossWalk


Tratar:

  1. Abre la página que quieres depurar.
  2. Mientras está en esa página, en la barra de direcciones de un navegador de Android, escriba:

    about:debug

    (Tenga en cuenta que no pasa nada, pero se han habilitado algunas opciones nuevas).

Funciona en los dispositivos que he probado. Lea más en el navegador de Android acerca de: depurar, ¿qué hacen esas configuraciones?

Edición: lo que también ayuda a recuperar más información como el número de línea es agregar este código a su script:

window.onerror = function (message, url, lineNo){ console.log(''Error: '' + message + ''/n'' + ''Line Number: '' + lineNo); return true; }


Uso Weinre , parte de Apache Cordova .

Con Weinre, obtengo la consola de depuración de Google Chrome en mi navegador de escritorio y puedo conectar Android a esa consola de depuración, y depurar HTML y CSS. Puedo ejecutar comandos de Javascript en la consola, y afectan a la página web en el navegador de Android. Los mensajes de registro de Android aparecen en la consola de depuración del escritorio.

Sin embargo, creo que no es posible ver o pasar por el código Javascript real. Así que combino Weinre con mensajes de log.

(No sé mucho sobre http://jsconsole.com/remote-debugging.html pero me parece que la inspección de HTML y CSS no es posible con JConsole, solo comandos y registro de Javascript (?)).


mobile-console-log permite mostrar cualquier console.log a Chrome Devtools desde cualquier dispositivo.


Actualización: depuración remota

Anteriormente, el registro de la consola era la mejor opción para depurar JavaScript en Android. En estos días, con Chrome para la depuración remota de Android, podemos hacer uso de todas las bondades de Chrome for Desktop Developer Tools en Android. Consulte https://developers.google.com/chrome-developer-tools/docs/remote-debugging para obtener más información.

Actualización: Consola JavaScript

También puede navegar a about: debug en la barra de URL para activar el menú de depuración y la consola de errores de JavaScript con dispositivos Android recientes. Debería ver SHOW JAVASCRIPT CONSOLE en la parte superior del navegador.

Actualmente en Android 4.0.3 (Ice Cream Sandwich), el logcat se envía al canal del navegador. Así que puedes filtrar usando el adb logcat browser:* *:S

Respuesta original

Puede usar el objeto JavaScript de console incorporado para imprimir mensajes de registro que puede revisar con adb logcat .

console.error(''1''); console.info(''2''); console.log(''3''); console.warn(''4'')

Produce esta salida:

D/WebCore ( 165): Console: 1 line: 0 source: http://... D/WebCore ( 165): Console: 2 line: 0 source: http://... D/WebCore ( 165): Console: 3 line: 0 source: http://... D/WebCore ( 165): Console: 4 line: 0 source: http://...

Determinando la versión de WebKit

Si escribe javascript:alert(navigator.userAgent) en la barra de ubicación, verá la versión de WebKit en la lista, por ejemplo:

En Chrome: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Chrome/4.0.221.6 Safari/532.2

En el emulador de Android Mozilla/5.0 (Linux; U; Android 1.6; en-us; sdk Build/DRC76) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1

nótese bien

Las versiones de WebKit que no forman parte de una versión de Safari tienen un + después del número de versión, y su número de versión es generalmente más alto que la versión más reciente de WebKit. Entonces, por ejemplo, 528+ es una compilación no oficial de WebKit que es más reciente que la versión 525.x que se envió como parte de Safari 3.1.2.