2010-04-22 19 views
15

Tengo un proyecto estándar de Java en el que he escrito código para analizar algunos datos de BBC Radio XML de Internet. El proyecto se llama BBCSchedules y la clase que me interesa se llama BBCChannel.Importación de archivos .jar externos al proyecto de Android

Ahora estoy tratando de usar la clase BBCChannel en una aplicación de Android. ¿Cómo debo hacer esto?

He intentado varias cosas, siguiendo varios consejos en internet, y el lugar que tengo ahora es compilar mi proyecto de BBCSchedules en un archivo .jar, e importarlo al proyecto de Android usando la opción Build Path/Library/Add External Jar. Sin embargo, Eclipse aún no reconoce la clase BBCChannel, y no me deja ejecutar la aplicación debido a esto.

Supongo que he hecho algo tonto, ¿pero qué es?

ACTUALIZACIÓN: He intentado los pasos enumerados en How can I use external JARs in an Android project? y varias otras preguntas de StackOverflow que puedo encontrar que parecen estar relacionadas con esto, pero absolutamente nada parece funcionar. ¿Alguna otra idea?

ACTUALIZACIÓN: Las discusiones que he tenido con el autor de la primera respuesta a continuación sugieren que tiene que ver con la forma en que estoy usando Eclipse para adjuntar el archivo .jar. El proyecto que me envió con el archivo .jar ya adjunto no funcionó. ¿Alguna otra idea a alguien?

+0

¿Estás seguro de haber empaquetado tu jar correctamente? ¿Puedes usarlo en un programa java de prueba simple desde la línea de comandos? – systempuntoout

+0

Sí, funciona bien en un programa de línea de comandos java estándar. – robintw

Respuesta

24

Coloque el JAR en el directorio de su proyecto libs/. Entonces, Build Path -> Library -> Add JAR debería permitirle elegir uno de su proyecto. IIRC, esto funciona con Eclipse.

Si decide eliminar algún día Eclipse, basta con tener su JAR en libs/ - las herramientas de compilación de línea de comandos lo recogerán automáticamente.

ACTUALIZACIÓN: Si usted tiene el R17 o una versión del plug-in de Eclipse ADT, ahora sólo es necesario añadir un directorio libs/ y poner su JAR allí. Se agregará automáticamente a su ruta de compilación, al igual que con las compilaciones de línea de comandos.

+1

Gracias. Agregué .jar al directorio libs/y luego lo seleccioné en la ruta de compilación en Eclipse, pero Eclipse todavía no parece reconocer la clase BBCChannel, y por lo tanto no me deja compilar y ejecutar mi aplicación. ¿Alguna otra idea? – robintw

+0

¿Estás seguro de que tus clases son públicas? – CommonsWare

+0

Sí, mi clase es pública y funciona bien desde otro programa simple de prueba de línea de comandos. No puedo entender por qué no está funcionando! Puedo cargar los archivos en algún lugar si lo desea ... – robintw

1

Aquí es lo que hice, y funcionó:

  • Haga clic derecho en su proyecto
  • Build Path> Añadir archivos externos
  • Seleccione su archivo (.jar)

El archivo library.jar se agregará a las "Bibliotecas de referencia" en su proyecto, pero no en la carpeta de su proyecto. Ahora puedo ejecutar mi proyecto con esa biblioteca externa, y no obtengo errores, pero no sé si es la forma habitual de hacerlo. Mi archivo no está en la carpeta 'libs', como todos. Deberías probar lo que hice.

1

Compruebe la versión de jar y también la versión de su sistema de Java. Si la versión jar es compatible con la versión del sistema, se ejecutará.

Además, verifique el Jar ejecutando java -jar filename.jar en el símbolo del sistema.

Después de eso, haga lo mismo que se menciona en la versión anterior.

Si no es así, pase su jar y código de muestra.

+0

Este trabajó para mí, gracias. El eclipse de Android establece el nivel de cumplimiento 1.6 de Java, pero estaba construyendo un JAR de otras clases con un nivel de conformidad 1.7, tan pronto como configuré mi otro proyecto en 1.6 y exporté el jar, todo comenzó a funcionar. –

Cuestiones relacionadas