una studio run instant generate generar firmar debug correr configurar como celular aplicacion android eclipse android-studio build.gradle class-library

run - generate apk android studio



¿Cómo puedo usar archivos JAR externos en un proyecto de Android? (12)

Actualmente estoy usando SDK 20.0.3 y ninguna de las soluciones anteriores funcionó para mí.

La razón por la que hessdroid funciona donde hess falló es porque los dos archivos jar contienen java que se compila para diferentes máquinas virtuales. No se garantiza que el código de bytes creado por el compilador de Java se ejecute en la máquina virtual de Dalvik. No se garantiza que el código de byte creado por el compilador de Android se ejecute en la máquina virtual de Java.

En mi caso, tuve acceso al código fuente y pude crear un archivo jar de Android utilizando el método que describí aquí: https://stackoverflow.com/a/13144382/545064

He creado un proyecto de Android y he agregado un JAR externo (hessian-4.0.1.jar) a mi proyecto. Luego agregué el JAR a la ruta de compilación y lo marcé en Orden y Exportar.

Parece que se ignora el orden y la exportación, y todas las clases del JAR externo faltan en el tiempo de ejecución.

¿Hay algún truco para incluir correctamente las clases necesarias de un JAR externo al crear una aplicación de Android con el complemento Eclipse? No quiero usar hormigas ni maven.


Copiar el archivo .jar en la carpeta del proyecto de Android no siempre es posible.
Especialmente si es un resultado de otro proyecto en su área de trabajo, y se mantiene actualizado.

Para resolver esto, tendrá que agregar el jar como un archivo vinculado a su proyecto, en lugar de importarlo (que lo copiará localmente).

En la interfaz de usuario elige:

Proyecto -> Importar -> Sistema de archivos -> yourjar.jar -> (área Opciones) Avanzado -> Crear enlace en el área de trabajo.

El enlace está guardado en el archivo .project :

<linkedResources> <link> <name>yourjar.jar</name> <type>1</type> <locationURI>PARENT-5-PROJECT_LOC/bin/android_ndk10d_armeabi-v7a/yourjar.jar</locationURI> </link> </linkedResources>

PARENT-5-PROJECT_LOC significa relativo al archivo del proyecto, 5 directorios arriba (../../../../../).

Luego agrégalo a las bibliotecas:
Proyecto -> Propiedades -> Ruta de compilación de Java -> Bibliotecas -> Agregar jar -> yourjar.jar

En la misma ventana, elija la pestaña Ordenar y exportar y marque su tarro para que se agregue a la apk.


Ir al proyecto actual

Haga clic con el botón derecho del mouse-> Propiedades-> Java Build Path-> Agregar archivos jar a las bibliotecas -> Haga clic en Aceptar

Luego se agrega al archivo de bibliotecas referenciadas en su proyecto actual.


La API de Java de Android no admite javax.naming. * Y muchas otras cosas de javax. *. Necesitas incluir las dependencias como frascos separados.


Resulta que no me he visto lo suficientemente bien en el seguimiento de mi pila, el problema no es que el JAR externo no esté incluido.

El problema es que a la plataforma Android le falta javax.naming. * Y muchos otros paquetes que el JAR externo también tiene dependencias.

Agregar archivos JAR externos y configurar Ordenar y exportar en Eclipse funciona como se esperaba con los proyectos de Android.


Sé que el OP termina su pregunta con referencia al complemento Eclipse, pero llegué aquí con una búsqueda que no especificó Eclipse. Así que aquí va para Android Studio:

  1. Agregue el archivo jar al directorio libs (como copiar / pegar)
  2. Haz clic derecho en el archivo jar y selecciona "Agregar como biblioteca ..."
  3. haga clic en "Aceptar" en el siguiente cuadro de diálogo o cambie su nombre si lo desea.

¡Eso es!


Sí, puedes usarlo. Aquí es cómo:

  1. Su proyecto -> clic derecho -> Importar -> Sistema de archivos -> yourjar.jar
  2. Su proyecto -> haga clic con el botón derecho -> Propiedades -> Java Build Path -> Bibliotecas -> Agregar Jar -> yourjar.jar

Este video puede ser útil en caso de que tenga algunos problemas.


Si está utilizando el sistema de construcción gradle , siga estos pasos:

  1. coloque los archivos jar en la carpeta libs correspondiente de su aplicación de Android. Generalmente lo encontrarás en Project > app > libs . Si falta la carpeta libs , cree una.

  2. agrega esto a tu archivo build.gradle tu app . (No al build.gradle tu Project )

    dependencies { compile fileTree(dir: ''libs'', include: ''*.jar'') // other dependencies }

    Esto incluirá todos los archivos jar disponibles en la carpeta libs .

Si no desea incluir todos los archivos jar , puede agregarlos individualmente.

compile fileTree(dir: ''libs'', include: ''file.jar'')


Si usa Android Studio, haga lo siguiente (he copiado y modificado la respuesta de @Vinayak Bs):

  1. Seleccione la vista Proyecto en la vista lateral del Proyecto (en lugar de Paquetes o Android)
  2. Crea una carpeta llamada libs en la carpeta raíz de tu proyecto
  3. Copia tus archivos JAR a la carpeta libs
  4. La vista lateral se actualizará y los archivos JAR se mostrarán en su proyecto.
  5. Ahora haga clic derecho en cada archivo JAR que quiera importar y luego seleccione "Agregar como biblioteca ...", que lo incluirá en su proyecto
  6. Después de eso, todo lo que necesita hacer es hacer referencia a las nuevas clases en su código, por ejemplo. import javax.mail.*

en el estudio de Android si usa gradle

agrega esto a build.gradle

compile fileTree(dir: ''libs'', include: [''*.jar''])

y agrega el archivo jar a la carpeta libs


Para eclipse

Una buena manera de agregar JAR externos a su proyecto de Android o cualquier proyecto de Java es:

  1. Crea una carpeta llamada libs en la carpeta raíz de tu proyecto
  2. Copia tus archivos JAR a la carpeta libs
  3. Ahora haga clic con el botón derecho en el archivo Jar y luego seleccione Crear ruta> Agregar a construir ruta , que creará una carpeta llamada ''Bibliotecas referenciadas'' dentro de su proyecto

    Al hacer esto, no perderá las bibliotecas a las que se hace referencia en su disco duro cada vez que transfiera su proyecto a otra computadora.

Para Android Studio

  1. Si está en la vista de Android en el explorador de proyectos, cámbielo a la vista de proyectos como se muestra a continuación

  1. Haga clic derecho en el módulo deseado donde desea agregar la biblioteca externa, luego seleccione Nuevo> Directroy y nómbrelo como '' libs ''
  2. Ahora copia el blah_blah.jar en la carpeta '' libs ''
  3. Haga clic con el botón derecho en blah_blah.jar, luego seleccione '' Agregar como biblioteca ... ''. Esto agregará automáticamente una entrada en build.gradle como archivos de compilación (''libs / blah_blah.jar'') y sincronizará el gradle. Y ya terminaste

Nota: si está utilizando bibliotecas de terceros, es mejor utilizar dependencias transitivas donde el script de Gradle descarga automáticamente el JAR y el JAR de dependencia cuando se ejecuta el script de gradle.

Ejemplo: compile ''com.google.android.gms: play-services-ads: 9.4.0''

Leer más sobre Gradle Dependency Mangement


cree una carpeta (como lib) dentro de su proyecto, copie su archivo en esa carpeta . ahora vaya a configurar la ruta de compilación desde el clic derecho en el proyecto, allí en la ruta de compilación seleccione

''agregar tarro'' navega a la carpeta que creaste y escoge el tarro.