Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


No se pudo encontrar la clase 'android.webkit.WebResourceResponse' cuando se ejecuta HelloCordova en Android 2.2

He intentado seguir este tutorial: http://docs.phonegap.com/es/2.7.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android

Y obtener el siguiente error:

05-08 15:35:59.845: E/dalvikvm(307): Could not find class 'android.webkit.WebResourceResponse', referenced from method org.apache.cordova.CordovaWebViewClient.getWhitelistResponse 

Aquí un chico explica el error: https://issues.apache.org/jira/browse/CB-3041

 This is a known issue. Because Android 2.3 does not have android.webkit.WebResourceResponse, this code is considered dead by Android 2.3's Dalvik. This means your whitelisting doesn't work properly like it does on Android 4.x, as per CB-2099. I'm going to keep this open, but lower the priority, since we know what causes it and it's an easy "First Bug" for someone if they really want to fix this. 

Él dice que la solución es fácil, pero no explica cómo arreglarlo -.- ¡Brillante!

Obviamente una solución no es ejecutarlo con un emulador de Android 2.2 porque funciona con Android 4.2.

Pero, ¿cómo puedo conseguir que funcione en Android 2.2?

Quiero crear una aplicación que sea compatible desde el nivel 8 de API y superior.

  • Aumento del tamaño del montón al crear el código fuente de Android en Ubuntu 15.10
  • Copie los archivos MTP de Android usando linux terminal o python; Error Operación no soportada
  • Instalación de Android / Eclipse en Ubuntu 11.04 - aapt y adb no funcionan correctamente
  • No se puede ejecutar android / sdk / build-tools / 23.0.2 / aapt
  • No se puede configurar Android con Ubuntu 11.10
  • Eclipse no se inicia (Ubuntu): termina JVM. Código de salida = 2
  • Adb puede listar dispositivos pero adb shell / logcat no funciona
  • Instant Run requiere 'Herramientas | Android | Habilitar la integración de ADB 'para habilitar
  • One Solution collect form web for “No se pudo encontrar la clase 'android.webkit.WebResourceResponse' cuando se ejecuta HelloCordova en Android 2.2”

    Esto se debe a que Android 2.2 no tiene el webkit actualizado con WebResource Response.

    Trate de descargar el jarro 2.2 cordova desde aquí y ponerlo en la carpeta / libs en la base de su proyecto. Si no hay ninguno, cree uno. Es posible que también tenga que agregar IceCreamCordovaWebViewClient.java a sus fuentes (o si decide descargar el código fuente de Córdoba y agregarlo como una dependencia, puede agregarlo a esa fuente)

    O puede intentar usar un WebViewClient/ChromeClient y hacer el trabajo usted mismo, como MH describe en este post , copiado a continuación.

    Si desea hacer algo similar para Android 2.x, puede intentar utilizar el anterior shouldOverrideUrlLoading(WebView view, String url) para evitar cargar la página, buscarla manualmente, reemplazar la referencia al archivo css con su propio , Y finalmente llamar a loadData(String data, String mimeType, String encoding) (o loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)) en el WebView, pasando el contenido html manipulado como una cadena.


    EDITAR:

    Además, también puede intentar agregar WebResourceResponse y dependencias a su carpeta src. Intente descargarlos desde aquí

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.