HtmlUnit en Android: Dependencias

El código funciona en un proyecto normal de Java, pero si lo intento en Android, copiando las dependencias de la biblioteca (.jar), fallará al crear:

Advertencia: Ignorar el atributo InnerClasses para una clase interna anónima (org.apache.commons.collections.BeanMap $ 1) que no viene con un atributo EnclosingMethod asociado. Esta clase probablemente fue producida por un compilador que no se dirigió al formato de archivo .class moderno. La solución recomendada es recompilar la clase desde el origen, utilizando un compilador actualizado y sin especificar ninguna opción de tipo "-target". La consecuencia de ignorar esta advertencia es que las operaciones reflexivas en esta clase indicarán incorrectamente que no es una clase interna.

Finalmente dice:

6 advertencias 1 error; aborting /home/kp/android-sdk-linux/tools/ant/build.xml:818: Se ha producido el siguiente error al ejecutar esta línea: /home/kp/android-sdk-linux/tools/ant/build.xml: 820: Se produjo el siguiente error al ejecutar esta línea: /home/kp/android-sdk-linux/tools/ant/build.xml:832: Se produjo el siguiente error al ejecutar esta línea: / home / kp / android-sdk- linux / tools / ant / build.xml: 278: null devuelto: 1

He añadido todas las bibliotecas:

  • commons-codec-1.4.jar
  • commons-collections-3.2.1.jar
  • commons-io-2.0.1.jar
  • Commons-lang-2.6.jar
  • commons-logging-1.1.1.jar
  • cssparser-0.9.5.jar
  • htmlunit-2.9.jar
  • htmlunit-core-js-2.9.jar
  • httpclient-4.1.2.jar
  • httpcore-4.1.2.jar
  • httpmime-4.1.2.jar
  • nekohtml-1.9.15.jar
  • sac-1.3.jar
  • serializador-2.7.1.jar
  • xalan-2.7.1.jar
  • xercesImpl-2.9.1.jar
  • xml-apis-1.3.04.jar

Si elimino algunas dependencias, se construirá pero cuando intente ejecutar mi código _client = new WebClient(); Tengo errores de noClassDefFoundError.

No he encontrado una solución aún en ninguna parte, así que si tienes la solución, ¡comparte!

Mi conjetura es que sus frascos de HTMLunit no se colocan en la carpeta de las libras del proyecto de Androide.

Debe crear una carpeta libs (usar la ortografía exacta) en la raíz de su proyecto y colocar todos los jarros HTMLUnit en esa carpeta.

es decir

Proyecto / libs /

Resolví los errores de noClassDefFoundError marcando las casillas junto a todas las bibliotecas que agregué en la pestaña "Ordenar y exportar" del diálogo de la ruta de construcción de Eclipse. Creo que esto incluye los .jars en el .apk para que pueda utilizarlos en el dispositivo.

Lo que funcionó para mí es la eliminación de lo siguiente: xalan-2.7.1.jar xercesImpl-2.9.1.jar xml-apis-1.3.04.jar

  • Java.lang.NoClassDefFoundError: com.facebook.android.Facebook
  • Java.lang.NoClassDefFoundError: android / graphics / drawable / Icono
  • NoClassDefFoundError Android Project
  • Java.lang.NoClassDefFoundError en la versión de Android inferior a Lollipop
  • NoClassDefFoundError al usar Dagger 2 después de cambiar a Android Studio 2.0
  • NoClassDefFoundError al usar greenDao
  • Error al iniciar la actividad debido a ClassNotFoundException
  • Java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 en Android Studio
  • Error de Eclipse: NoClassDefFoundError: java / lang / ref / FinalReference
  • Java.lang.NoClassDefFoundError con todos los R classess cuando se utiliza la biblioteca de Android
  • java.lang.NoClassDefFoundError en Android con GoogleAccountCredential.newChooseAccountIntent ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.