studio librerias library importar generar create android jar

librerias - Librerías Android Jar



importar jar en android studio (7)

¡Google acaba de lanzar una nueva versión del SDK que maneja Bibliotecas Compartidas!

https://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

ADT 0.9.7 (mayo de 2010)

Proyectos de biblioteca:
El complemento ADT ahora admite el uso de proyectos de biblioteca durante el desarrollo, una capacidad que le permite almacenar código y recursos de aplicaciones Android compartidos en un proyecto de desarrollo separado. A continuación, puede hacer referencia al proyecto de la biblioteca desde otros proyectos de Android y, en tiempo de compilación, las herramientas compilan el código compartido y los recursos como parte de las aplicaciones dependientes. Se encuentra disponible más información sobre esta función en el documento Developing in Eclipse with ADT. Si no está desarrollando en Eclipse, SDK Tools r6 proporciona el soporte de proyecto de biblioteca equivalente a través del sistema de compilación Ant.

¿Cómo se configura un proyecto que puede dar como resultado un archivo de biblioteca jar que se puede utilizar para Android? Quiero crear una biblioteca personalizada en todos los proyectos.

Algunas otras preguntas:

  1. ¿Necesita compilarse contra una versión específica de sdk de Android?
  2. Cuando se compila un paquete de Android contra una biblioteca jar, ¿las clases necesarias para trabajar con el código se compilan con el código principal en la apk o se incluye todo el jar?
  3. ¿Alguna optimización o error importante que deba conocer al usar un contenedor en lugar de integrar el código directamente?
  4. ¿El contenedor debe estar firmado como lo necesita el apk?

Le pregunté a mí mismo la misma pregunta: ¿puedo exportar y volver a usar un diseño en Android? Intenté lo siguiente: exportar un proyecto con recursos XML a un archivo JAR y luego intentar acceder a un diseño a través de R.layout. Por supuesto, no funcionó, ya que R.layout.main era un número entero, el mismo número entero que estaba asociado al diseño único (relative.xml) definido en R.layout del proyecto de host.

El SDK de Android combina los archivos xml en recursos Ver, y como los archivos XML en el archivo JAR incluido no son archivos xml de diseño, no se compilan y no se asocian a ellos en R.layout.

Si desea exportar un diseño de su proyecto, debe exportarlo como XML e importarlo al nuevo proyecto como un recurso de diseño, no como parte de una biblioteca externa.

Si desea reutilizar diseños desde un JAR, debe crear una subcategoría de una Vista y construir el diseño desde el código. Luego puede instanciarlo y establecer la instancia creada como la Vista de la actividad, o agregar la instancia a la Vista de su actividad.


No hay nada especial que deba hacer en la configuración de su proyecto para crear un archivo jar que funcione en una aplicación de Android. Simplemente crea un proyecto Java normal en Eclipse.

  1. No necesita compilarse contra Android en absoluto. Puede incluir cualquier archivo jar siempre que no haga referencia a las clases que no están incluidas en Android. Simplemente incluya su archivo jar en su ruta de compilación de sus proyectos de Android en Eclipse, y se incluirá automáticamente en su archivo APK.

  2. No estoy seguro pero supongo que todas las clases en el archivo jar se incluyen en el APK.

  3. No creo que solo incluir algunas clases en un jar vs. en el proyecto directamente haga una diferencia en el APK resultante.


Puede usar un método personalizado para acceder dinámicamente al archivo R, el enlace de ejemplo está debajo.

Empaquetar archivos de recursos de Android dentro de un archivo Jar distribuible

public static int getResourseIdByName(String packageName, String className, String name) { Class r = null; int id = 0; try { r = Class.forName(packageName + ".R"); Class[] classes = r.getClasses(); Class desireClass = null; for (int i = 0; i < classes.length; i++) { if(classes[i].getName().split("//$")[1].equals(className)) { desireClass = classes[i]; break; } } if(desireClass != null) id = desireClass.getField(name).getInt(desireClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (NoSuchFieldException e) { e.printStackTrace(); } return id; }


Si busca en el archivo android.jar en el archivo plataformas / android-XX / android.jar, sí incluye los elementos XML de diseño, por lo que debería poder crear uno también. Simplemente no estoy seguro exactamente de cómo lo haces y cómo los haces referencia en el otro proyecto.


para crear un archivo jar, debe usar la opción Exportar de Eclipse. En el cuadro de diálogo de exportación, elija java y el JAR de subopción. A continuación, se muestra un asistente donde debe hacer algunas selecciones. Debe especificar la ubicación donde se almacenará el archivo jar.

Un error que cometí la primera vez que creé un archivo jar fue incluir el manifiesto de Android. Al agregar el archivo jar creado, tengo un conflicto de doble manifiesto de Android.


Este trabajo para mí !!! si desea utilizar un archivo .jar en su aplicación desde un proyecto de biblioteca que utilice recursos como attrs.xml (y suponga otros como diseños, cadenas, etc.) que generen un R.java. deberías eclipsar ir a export->Java/Jar file-> y marcar Exportar todas las carpetas de salida para projects -> Finish comprobados- projects -> Finish ... esto asegurará que en el tiempo de ejecución tu aplicación que usa este contenedor no genere una excepción por falta clases y recursos.

Por supuesto, para incluir el tarro en tu nuevo proyecto ve a. project properties-> Java build path -> Libraries -> Add external jar -> y listo.

¡Espero que esto ayude!