¿Cómo puedo utilizar JARs externos en un proyecto de Android?

He creado un proyecto para Android y he añadido un JAR externo (hessian-4.0.1.jar) a mi proyecto. Entonces agregé el JAR a la trayectoria de la estructura y lo comprobé apagado en la orden y la exportación.

Orden y exportación se ignoran parece, y todas las clases de la JAR externa están ausentes en tiempo de ejecución.

¿Hay un truco para incluir correctamente las clases necesarias de un JAR externo cuando se construye una aplicación de Android utilizando el complemento de Eclipse? No quiero usar hormigas o Maven.

Eclipse

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

  1. Cree una carpeta llamada libs en la carpeta raíz de su proyecto
  2. Copie sus archivos JAR en la carpeta libs
  3. Ahora haga clic derecho en el archivo Jar y luego seleccione Build Path> Add to Build Path , que creará una carpeta llamada 'Referenced Libraries' dentro de su proyecto

    Al hacer esto, no perderá las bibliotecas que están siendo referenciadas en su disco duro cada vez que transfiera su proyecto a otro equipo.

****** Actualización *******

Paso para agregar una biblioteca externa en Android Studio

  1. Si está en Android View en el explorador de proyectos, cámbielo a Project view como a continuación

Introduzca aquí la descripción de la imagen

  1. Haga clic con el botón secundario en el módulo deseado en el que desea agregar la biblioteca externa, luego seleccione Nuevo> Directroy y llámelo como " libs "
  2. Ahora copie el archivo 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á y entrará automáticamente en build.gradle como archivos de compilación ('libs / blah_blah.jar') y sincronizará el gradle. Y ya terminaste

Nota: Si utiliza bibliotecas de terceros, es mejor utilizar dependencias transitivas en las que el script Gradle descargue automáticamente el JAR y el JAR de dependencia cuando se ejecute gradle.

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

Leer más acerca de Gradle Dependency Mangement

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

  1. Su proyecto -> clic derecho -> Importar -> Sistema de archivos -> yourjar.jar
  2. Su proyecto -> clic derecho -> Propiedades -> Java Build Path -> Bibliotecas -> Agregar Jar -> yourjar.jar

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

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

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

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

Sé que el OP termina su pregunta con referencia al complemento de 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. Haga clic derecho en el archivo jar y seleccione "Agregar como biblioteca …"
  3. Haga clic en "Aceptar" en el siguiente cuadro de diálogo o cambie el nombre si lo desea.

¡Eso es!

Resulta que no he visto lo suficientemente bueno en mi rastro de la pila, el problema no es que el JAR externo no está incluido.

El problema es que la plataforma Android está faltando javax.naming. * Y muchos otros paquetes que el JAR externo tiene dependencias también.

La adición de archivos JAR externos y la configuración de Order and Export en Eclipse funcionan como se esperaba en los proyectos de Android.

Ir al proyecto actual

RightClick-> Propiedades-> Java Build Path-> Añadir archivos Jar en las bibliotecas -> Haga clic en Aceptar

A continuación, se agrega al archivo de bibliotecas referenciadas en su proyecto actual.

La API Java de Android no admite javax.naming. * Y muchas otras cosas javax. *. Debe incluir las dependencias como tarros independientes.

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

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

En el estudio de Android si utiliza gradle

Agregue esto a build.gradle

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

Y agregue el archivo jar a la carpeta libs

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

  1. jar archivos jar en la carpeta libs respectiva de su aplicación android. Generalmente lo encontrará en Project > app > libs . Si falta la carpeta libs , cree una.

  2. Agregue esto a su archivo build.gradle su app . (No en el build.gradle su Project )

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

    Esto incluirá todos sus 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')

Cree una carpeta (como lib) dentro de su proyecto, copie su tarro a esa carpeta . Ahora vaya a configurar la ruta de construcción de clic derecho en el proyecto, allí en la ruta de construcción seleccionar

'Add jar' busca la carpeta que creaste y selecciona el tarro.

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

Para solucionar esto tendrás que agregar el tarro como un archivo enlazado a tu proyecto, en lugar de importarlo (que lo copiará localmente).

En la interfaz de usuario, elija:

Proyecto -> Importar -> Sistema de archivos -> yourjar.jar -> (Área de opciones) Avanzado -> Crear enlace en el espacio de trabajo.

El enlace se guarda 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 de proyecto, 5 directorios arriba (../../../../../).

A continuación, agregue a las bibliotecas:
Proyecto -> Propiedades -> Java Build Path -> Bibliotecas -> Añadir Jar -> yourjar.jar

En la misma ventana, elija la ficha Orden y Exportar y marque su tarro para que se agregue al apk.

  • Código de la versión de incremento automático en la aplicación para Android
  • Android - ¿Cómo puedo ver una base de datos SQL creada en mi aplicación? Lo estoy ejecutando en el emulador de Android de Eclipse
  • ¿Cómo puedo actualizar Cordova 2.9.0 a 3.6 en Android Developer Tools?
  • Cómo deshacerse de la advertencia: Utilice '$' en lugar de '.' Para clases internas en Eclipse
  • Emulador de Android al revés en Eclipse Juno
  • Cómo cambiar la actividad con el golpe de izquierda a derecha
  • Múltiples proyectos en Android Studio
  • Existe un recurso con un caso diferente
  • Problemas con el SDK de Android Ubuntu 10.04lts
  • No se encontró com_actionbarsherlock.apk
  • Inclusión no resuelta: <jni.h>
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.