2012-01-02 29 views
5

Estoy tratando de usar phonegap dentro de un proyecto de biblioteca android. El proyecto de biblioteca compila muy bien, pero cuando intento iniciar una actividad que se extiende DroidGap, me sale este errorCómo incluir archivos jar en el proyecto de biblioteca Android

01-02 10:12:17.575: W/dalvikvm(316): Unable to resolve superclass of Lcom/***/***. 

Creo que esto se debe a que el archivo phonegap.jar no está incluido en el archivo JAR compilado del androide proyecto de biblioteca. He intentado usar hormiga para construir pero parece que no funciona.

Editar: Estoy construyendo una biblioteca de Android que se puede utilizar en otros proyectos de Android. Estoy usando el estándar android library project pero las actividades en este proyecto lib que extendieron la clase DroidGap en phonegap.jar están fallando con el error anterior.

+0

mira esto: http: // stackoverflow.com/a/6859020/28557 –

+1

parece que la mayoría de la gente no comprende el hecho de que su JAR externo está en el proyecto de la biblioteca, y luego cuando intenta hacer referencia a su proyecto de biblioteca desde otro proyecto de Android no puede ver los archivos JAR de que depende el proyecto de la biblioteca, tener problemas similares yo solo es más complicado porque mi archivo JAR es una interfaz JNI para algunas clases nativas de C que también quiero compartir en múltiples proyectos. –

Respuesta

0

crea una carpeta 'lib' en tu proyecto. pon tu archivo .jar en la carpeta lib. seleccione su archivo .jar, haga clic derecho, seleccione buid path ---> 'add to build'. agregará su archivo .jar. ahora puedes usar estas clases de archivos .jar.

+0

Ya lo estoy haciendo, pero eso no parece ayudar. Creo que funciona bien cuando se trata de un proyecto de Android normal, pero no está funcionando incluir archivos jar en un proyecto de la biblioteca de Android. – Ashok

+0

he probado y puedo agregar y utilizar clases de biblioteca de facsímil como se indica en el paso anterior. –

+0

Hay dos proyectos que estoy usando, uno es un proyecto de Android y el otro es un proyecto de biblioteca de Android. Necesito incluir phonegap.jar en el proyecto de la biblioteca de Android. El proyecto de Android usa el proyecto de la biblioteca android y comienza una actividad en el proyecto lib de Android, esto parece bloquear las cosas. ¿Estás haciendo lo mismo, esto funciona para ti? – Ashok

0

Sugeriría que no se haga manualmente la carpeta 'lib'.

lugar:

clic derecho Proyecto -> Propiedades -

  • Seleccionar Java Build Path

  • Asegúrese de que Bibliotecas es la ficha seleccionada en la parte superior

  • Haz clic en Añadir JAR externos

Entonces encontrar su JAR ...

Básicamente, de la misma manera si se ha añadido la PhoneGap.jar

+0

¿Está sugiriendo no vincular el proyecto de la biblioteca de Android, sino al enlace del archivo jar creado por el proyecto de la biblioteca. No entiendo cómo eso ayudaría. Lo probé y no parece ayudar – Ashok

+0

Tendrá que editar su pregunta y explicar más con más detalles ... Es posible que no entiendo completamente lo que está tratando de hacer. Si está enlazando a otro proyecto de biblioteca que aún funcionará, debe vincular esa biblioteca y luego agregar PhoneGap.jar de la manera que describí. – TryTryAgain

0

El ADT (Android Desarrollo de herramientas de Eclipse plug-in) tiene soporte incorporado para la creación y referencia de proyectos de biblioteca. Vea el ejemplo en la sección 5 de este tutorial.

0

Intente cambiar el nombre de la carpeta a libs en lugar de lib.

+0

La carpeta "libs" incluye automáticamente JAR allí en el proyecto en el que se encuentran. Sin embargo, no los incluirá automáticamente si solo están en el directorio libs del proyecto compartido. –

3

Me temo que aún no es posible. El archivo jar resultante contendrá todas las clases y recursos definidos en el proyecto de la biblioteca android, pero no incluirá archivos jar externos agregados a la ruta de compilación. Tendrás que agregarlos a tus proyectos finales de Android utilizando esa biblioteca. También se puede encontrar preguntas similares en SO como this one

+0

La pregunta/respuesta vinculada explica con más detalle. Pero, básicamente, los proyectos de Biblioteca compartida son contenedores simples y envoltorios. Al final, simplemente mete la fuente y los recursos en el proyecto consumidor; no se copia en la configuración ni en las referencias de la biblioteca, por lo que deben copiarse en el proyecto consumidor manualmente. –

Cuestiones relacionadas