No se puede resolver el error de superclase al hacer referencia.biblioteca jar


  1. Hice un proyecto de Android y ejecutarlo. Funcionó con éxito.
  2. Desarrollé un servicio web en Java y lo alojé. Funcionó con éxito.
  3. Exporté el servicio web a a .jar y lo agregó a mi proyecto de Android.
  4. Cuando intento llamar a un método en el servicio web obtengo un error Unable to resolve superclass.

Mi registro de errores:

Unable to resolve superclass of Lweb/service/RandomWordGeneratorService; (73)
Link of class 'Lweb/service/RandomWordGeneratorService;' failed 
Could not find class 'web.service.RandomWordGeneratorService',
    referenced from method tam.miru.Login$1.onClick
VFY: unable to resolve new-instance 110 Lweb/service/RandomWordGeneratorService;)
    in Ltam/miru/Login$1; 
VFY: replacing opcode 0x22 at 0x005a    
VFY: dead code 0x005c-006e in Ltam/miru/Login$1;.onClick (Landroid/view/View;)
Author: JJD, 2011-05-29

8 answers

Acaba de empezar a tener este problema después de actualizar a ADT 17.

Descubrió que externa .los archivos jar deben estar en una carpeta' libs ' (con una s), de lo contrario sus clases no se incluirán en la .archivo dex que se crea. Antes de la actualización todo funcionaba bien con mi .archivos jar en una carpeta ' lib ' (no s).

 71
Author: rabidgremlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-22 17:37:34

En mi caso tuve que ir a Properties->Java Build Path->Order and Export y verificar Android Private Libraries, luego limpié el proyecto y trabajé bien.

 14
Author: Leonardo Pinto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-10 23:59:52

Crear carpeta lib, la carpeta libs es para bibliotecas nativas. Lo hice, agregar biblioteca a lib y construir ruta como biblioteca interna y funciona!

 4
Author: 42n4,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-06 00:01:13

¿Estás usando eclipse? Si es así, ¿agregaste la biblioteca a la ruta de compilación como se describe en Agregar una biblioteca/JAR a un proyecto Android de Eclipse?

 2
Author: Programmer Bruce,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:01

Sé que este es un post en un hilo muy antiguo, pero después de leer la respuesta de @rabidgremlin, comprobé la estructura de carpetas, y encontré que ya estaba en "libs". Sin embargo, al ver el apoyo.jar, pensé que usar esto era lo que estaba causando el problema.

Estaba extendiendo "FragmentActivity" pero resulta que eso hacía referencia al soporte.tarro, que tenía problemas en sí mismo. Una vez que eliminé la cláusula extends, la aplicación milagrosamente dejó de bloquearse.

Sólo un FYI en por si alguien viene a buscarlo. ¡Salud!

 2
Author: Sreedevi J,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-31 15:19:06

Tuve el mismo problema, traté de marcar las Bibliotecas Privadas de Android bajo Pedido y Exportación y no funcionó para mí. Entonces me di cuenta de que mi carpeta libs no se hace referencia en la ruta de compilación de Java. Así que lo agregué a las Bibliotecas y funcionó.

 1
Author: DenninDalke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-27 21:11:18

Tuve el mismo mensaje de error. Me llevó algún tiempo descubrir el problema: Android requiere Java 1.6 para funcionar. Y la superclase de mi Actividad implementó una interfaz de un proyecto Java que tenía Java 1.7 como compilador. Eso fue suficiente para que el constructor dex no fuera capaz de vincular la superclase y esto resultó en la excepción de clase no encontrada.

 1
Author: Andras Balázs Lajtha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-17 14:33:45

Me encontré con una causa diferente para este error en Eclipse. Estaba experimentando con poner eclipse workspaces en los directorios de Google Drive y descubrí que ciertas superclases no se pueden resolver desde las actividades de Android.

Se detuvo Google Drive y todo comenzó a funcionar bien. En mi caso la superclase que no se cargaba era de una clase generada por protocol buffers. Esta clase y todas las demás que probé funcionaron bien en programas Java no android, incluso mientras Google Drive era ejecutar.

 -1
Author: Salain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-11 15:21:51