ClassNotFoundException Android

Así que me encontré con un problema hoy en día mientras trabajaba en mi programa Android. Tengo una clase que convierte que una cadena de XML en un objeto de Java (tercero) y funciona bien en un proyecto de java regular, pero en Android me sale este error extraño:

 06-21 22: 44: 26.402: DEBUG / App (259): java.lang.ClassNotFoundException: com.package.mycode.Class en loader dalvik.system.PathClassLoader@4001b500
 06-21 22: 44: 26.402: DEBUG / App (259): at dalvik.system.PathClassLoader.findClass (PathClassLoader.java:243)

Ocultar mi nombre de aplicación y mi paquete por razones obvias, pero me preguntaba si alguien ha encontrado problemas como este. La clase está en el paquete correcto, que es una biblioteca que he agregado. Otras clases a las que me refiero antes están ahí y pueden hacerse. ¿Hay otras razones por las que se ClassNotFoundException un ClassNotFoundException ?

Gracias, Jake

6 Solutions collect form web for “ClassNotFoundException Android”

 private static void fixClassLoaderIssue() { ClassLoader myClassLoader = MyClass.class.getClassLoader(); Thread.currentThread().setContextClassLoader(myClassLoader); } 

Este es el código que actualmente tengo que creo que solucionado este problema. MyClass es sólo una clase que tengo en mi proyecto. Como he dicho, un co-trabajado me lo mostró, pero parece bastante sencillo.

¿Hay otras razones por las que se genera un ClassNotFoundException?

IIRC, también se puede ejecutar si no se puede cargar alguna otra clase en las dependencias estáticas de "com.package.mycode.Class" o si hay un problema durante la inicialización estática. Pero estos deben aparecer como una excepción anidada … la primera vez que intenta cargar la clase .

Android no tiene todas las clases Java disponibles que están disponibles en una máquina normal. Hay algunas clases que faltan que podrían causar este error. Pero esto ya debería ser mostrado en tiempo de compilación. Mira esta lista para ver qué clases son compatibles y cuáles no son compatibles.

De nuevo sólo estoy adivinando porque el compilador debería ver las clases que faltan.

Para una aplicación para Android, tendría el mismo problema con un archivo jar externo. En mi caso, la solución era mover el tarro de la carpeta "lib" a la carpeta "libs" por defecto de android.

Cuando el tarro estaba en la carpeta lib (también se agregó a la ruta de construcción), mientras que no había ningún problema de compilación en Eclipse, la aplicación estaba dando ClassNotFoundException en tiempo de ejecución. Una vez que moví el tarro a la carpeta de "libs", el tarro comenzó a aparecer bajo "dependencias de Android" y la aplicación comenzó a trabajar muy bien.

Estas son algunas de las otras discusiones sobre el mismo tema.

Adición de una biblioteca / JAR a un proyecto Eclipse Android

Android: ¿Cuál es el nombre de la carpeta de los archivos jar (LIB o LIBS)?

Cómo especificar la carpeta lib para JARs cuando se utiliza un archivo de generación de hormigas generado por Android?

Tuve un problema al iniciar un aynctask. Solía ​​funcionar bien, pero luego añadí

 line = StringEscapeUtils.unescapeHtml4(line); 

(Su una biblioteca de commons.apache.org) al asynctask entonces muchos de problemas. Compila bien pero cuando intenté funcionar, dijo que la clase no encontrada en mi clase del asynctask. Pero me golpeó reanudar que siguió en la tarea asíncrona, entonces murió.

Así que supongo que el problema es StringEscapeUtils no está instalado correctamente, pero no tenía forma de averiguar que fuera de los mensajes de error que estaba recibiendo.

¿Hay otras razones por las que se genera un ClassNotFoundException?

En mi caso, obtuve una ClassNotFoundException para mi actividad principal al construir el apk con eclipse pero no tuve ningún problema al construir con maven.

El problema era que mi actividad principal era la implementación de una interfaz desde un simple proyecto java "POJO library". En el proyecto de Android> Propiedades> Ruta de construcción de Java> Pedido y exportación tuve que marcar la casilla para exportar la "Biblioteca POJO". Después de limpiar el proyecto, la interfaz se incluyó en el classes.dex en el apk y se resolvió el problema.

Me dirigieron aquí cuando intentaba entender el problema, y ​​espero que ayude a alguien más en la misma situación.

  • Android: ¿Qué es un "número de archivo incorrecto" SocketException?
  • Java wrapper para la biblioteca Soundtouch
  • Control de la intensidad de vibración en los teléfonos Android? ¿Es posible?
  • Cómo transferir datos de una actividad a otra en android
  • Desplazamiento sobre lienzo grande
  • Muchos módulos pequeños, o pocos módulos grandes para el mejor rendimiento de la construcción?
  • Android desconocidoHostException Facebook SDK
  • Utilización de Try Catch Manejo de excepciones o comprobaciones explícitas
  • ¿Sólo rellenar viewHolder con mensajes recuperados de la base de datos?
  • obtener recurso de cadena de android proyecto de archivo java
  • Android: El tipo java.lang.Enum no se puede resolver
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.