ArrayIndexOutOfBoundsException en el KXmlParser de android

Estoy haciendo análisis XML regular en android, y muy rara vez recibo esta excepción y sólo en determinados teléfonos. No han sido capaces de llegar a la raíz de este problema. ¿Alguien tiene una idea de lo que podría estar causando esto?

java.lang.ArrayIndexOutOfBoundsException: src.length=8192 srcPos=1 dst.length=8192 dstPos=0 length=-1 at java.lang.System.arraycopy(Native Method) at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1489) at org.kxml2.io.KXmlParser.skip(KXmlParser.java:1574) at org.kxml2.io.KXmlParser.parseStartTag(KXmlParser.java:1049) at org.kxml2.io.KXmlParser.next(KXmlParser.java:369) at org.kxml2.io.KXmlParser.next(KXmlParser.java:310) 

3 Solutions collect form web for “ArrayIndexOutOfBoundsException en el KXmlParser de android”

Tengo una excepción similar. En mi caso, el xml se había descargado y guardado en el SD. Cuando abrí el archivo, vi que cortó "medio de la frase", por así decirlo. Parecía que había habido un error en la descarga del archivo. Eliminar el archivo y volver a descargar resolvió el problema en esta instancia, pero para evitar problemas futuros del mismo tipo, compruebo ArrayIndexOutOfBoundsException al leer un xml y asumo que el archivo está dañado cuando captura uno.

Obviamente, es sólo una solución bandaid a un problema vagamente definido en este momento. Si descubro más, actualizaré mi respuesta.

Encontré una corrección de errores para Android 4.4 mencionando esto: Cambiar 61530

Por lo tanto, la excepción adecuada que debería estar recibiendo es: especificación de contenido de elemento no terminado , que significa EOF inesperado.

La capa inferior (kxml) está lanzando incorrectamente una excepción no comprobada cuando encuentra mal xml. Para evitar esto, al usar XmlPullParser, reemplace

 try { // use XmlPullParser } catch (XmlPullParserException ex) { ... } 

con

 try { // use XmlPullParser } catch (Exception ex) { ... } 
  • Cómo crear un AttributeSet en Android?
  • Android: El mejor analizador para analizar datos XML
  • XmlPullParser no funciona con InputStream
  • ¿Existe una manera de enumerar las funciones XMLPullParser disponibles en el dispositivo Android actual?
  • Cómo obtener un valor de nodo con XmlPullParser
  • Diferencia entre el analizador XML SAX, analizador de tracción y analizador de DOM en android
  • Obtener stringXmlContent y escribir a continuación, guardado en el archivo .xml almacenado en sdcard en android ¿cómo se puede?
  • XmlPullParser: PI no debe comenzar con xml, pero solo en Android 2.3.3 hacia abajo
  • Analizador XML personalizado de Android falla al resolver el espacio de nombres android
  • XmlPullParser - token inesperado (android)
  • Xml extraer elementos del analizador xml
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.