La depuración remota de Android para la aplicación Phonegap no funciona
Hola estoy tratando de depurar mi aplicación phonegap en mi dispositivo a través de Chrome He seguido todos los pasos y mi teléfono es reconocido por el comando adb devices,
Luego voy a chrome: // inspect / # devices y puedo ver mi teléfono, pero este mensaje aparece en el navegador:
- Uncaught (en Promise) DOMException: play () solo puede ser iniciado por un gesto del usuario
- Android establece scrollLeft al actualizar contenido en el evento de desplazamiento no actualiza la posición de la barra de desplazamiento
- Inspeccionar dispositivos no se muestra en Chrome
- Enlace profundo de Chrome a la aplicación nativa
- Ejecución de tres.js en cromo móvil
Desconectado
0019C9AD7EF31F
Autenticación pendiente: acepte sesión de depuración en el dispositivo.
La cosa es que no hay tal mensaje en mi teléfono, tengo un Sansumg Galaxy S2 con kitkat. He actualizado la versión de 4.1 a 4.4 porque pensé que era el problema, pero después de actualizar a 4.4 mismo problema.
¿Alguien ha enfrentado este problema antes?
- ¿Cómo obtener bordes y tamaños precisos en la vista Web de Android KitKat (Android Chrome) en Nexus 7?
- Cómo obtener el código fuente de Chromium para Android
- El reenvío de puertos de Chrome DevTools no funciona para números de puerto altos
- Depurar una aplicación iónica para la plataforma android
- Evitar que la barra de direcciones se oculte en los navegadores móviles
- Compruebe qué URL se abre en pestañas personalizadas de cromo
- Detectar memoria disponible dentro de un WebView
- ¿Código fuente de la aplicación Android de Google Chrome?
El problema es que la depuración remota solía funcionar sólo para el navegador Chrome en Android, pero no en las vistas de web de aplicaciones como el teléfono. Pero con Android 4.4 (Kitkat) y Phonegap 3.3, esto ahora es compatible.
Escribí una entrada en el blog sobre ella aquí:
http://adamwadeharris.com/remote-debugging-in-phonegap-with-chrome-devtools/
Básicamente, debes activar la depuración de vistas web en el archivo Java principal de la aplicación y asegurarte de que la aplicación esté orientada a la API de la versión 19 (Kitkat). Si no tiene un dispositivo con Kitkat, podría utilizar un emulador en su lugar.
A continuación, le indicamos cómo habilitar la depuración de webview:
En las plataformas / android / src / com / yourAppName / YourAppName.java agregue las siguientes líneas bajo las otras instrucciones de importación
import android.os.Build; import android.webkit.WebView;
Y añada lo siguiente dentro del método onCreate:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }
Como ya se ha dicho en algunos comentarios, esto está funcionando desde la caja desde cordova 3.3+ y android 4.4+. No es necesario establecer nada en AndroidManifest.xml.
Si utiliza cordova build
o cordova run
el modo de construcción por defecto será "depurar". Usted puede ver esto también en el nombre de archivo generado apk que se verá así:
{app_name} -debug-unaligned.apk
En este caso, sólo necesitas Chrome en la Versión 32+ y selecciona el Chrome menu > Tools > Inspect Devices
(por supuesto después de desplegar la aplicación en tu dispositivo y activar la depuración de usb).
Para obtener más información, mira también aquí: https://developer.chrome.com/devtools/docs/remote-debugging
En cuanto al problema de autenticación … Cuando ejecute cordova android run
primera vez, su aplicación se desplegará en su teléfono y tendrá que confirmar el diálogo de autenticación y hacer una marca para recordar su elección. Después de esto, debería ser bueno inspeccionar la aplicación desplegada en el inspector de cromo.
Parece ser un error en el teléfono. Lo arreglé haciendo:
- Seleccione las opciones de desarrollador
- Revocar la depuración USB autorizada
- apague y encienda el interruptor de depuración USB
- conectar a su PC
- ahora, acaba de aceptar el diálogo de dos autoridades, y funcionará bien en AndroidStudio y Chrome.
Si ves que "Pendiente de autorización" sigue parpadeando, intenta eliminar todas las actualizaciones de Chrome del dispositivo y actualizar a Chrome v.33. Parece que algo se ha roto en una de las últimas versiones de Chrome (tiene el problema con Chrome v.44). Aquí está el enlace al problema relacionado: https://code.google.com/p/chromium/issues/detail?id=512150
Si está utilizando Phonegap Build, agregue lo siguiente a su config.xml para poder inspeccionar la vista web en la consola de dev de Chrome.
En primer lugar, asegúrese de que su etiqueta widget contiene xmlns: android = "http://schemas.android.com/apk/res/android"
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="me.app.id" version="1.0.0">
A continuación, agregue lo siguiente
<gap:config-file platform="android" parent="/manifest"> <application android:debuggable="true" /> </gap:config-file>
Funciona para mí en Nexus 5, Phonegap 3.7.0.
<preference name="phonegap-version" value="3.7.0" />
Fuente: https://www.genuitec.com/products/gapdebug/learning-center/configuration/
Esto es bueno para mí:
adb logcat CordovaActivity:V CordovaLog:V Cm CordovaWebView:V IceCreamCordovaWebViewClient:V *:S
- ¿Cómo hacer que una actividad se detenga, en lugar de ser destruida, desde la tecla ATRAS?
- Entradas duplicadas en ListView