Cómo crear jar para Android Library Project

Tengo que crear una biblioteca que voy a exportar al cliente en un archivo jar. ¿Hay alguna manera de crear un tarro con los recursos en él?

El adMob de Google tiene un jar, que incluye un archivo de recursos como R $ layout.class. Esta página describe alguna forma de hacerlo pero no puedo entender exactamente cómo se supone que debo importar el proyecto de biblioteca a una aplicación utilizando el método anterior.

Éste es el más cercano que usted puede conseguir:

Paso # 1: Crear un proyecto regular de la biblioteca de Android, y conseguir que funcione.

Paso # 2: Copie el proyecto de la biblioteca de Android en otro directorio.

Paso # 3: Cree un JAR a partir de las clases Java compiladas del proyecto original de la biblioteca de Android, y coloque ese JAR en el directorio libs/ de la copia que hizo en el Paso # 2. Deberías poder ejecutar ProGuard en este JAR manualmente, aunque no lo haya probado.

Paso # 4: Quite todo dentro del directorio src/ del proyecto de la biblioteca copiada, dejando atrás y vacíe el directorio src/ .

Paso # 5: ZIP o distribuir el proyecto copiado de la biblioteca de Android.

Esto le dará un proyecto de biblioteca de Android como el Play Services uno, donde los recursos están disponibles, pero el código fuente no lo es.

ACTUALIZACIÓN : Un enfoque aún mejor hoy en día es el paquete de su proyecto de biblioteca como un AAR, que es la forma nativa de Android de crear un artefacto reutilizable de su código compilado más los recursos necesarios. En la actualidad (julio de 2014), Gradle para Android, Android Studio y el android-maven-plugin pueden crear y consumir AARs.

¡Esto funciona!

  1. Haga que su proyecto de biblioteca sea un proyecto normal al anular la selección del indicador IsLibrary.
  2. Ejecute su proyecto como aplicación de Android. (No mostrará ningún error)
  3. Encontrará un archivo .jar en la carpeta bin junto con .apk.
  4. Darle .jar que desee utilizar su biblioteca.
  5. Dígales que sólo importen jar externo en la ruta de construcción.

Esto funcionará bien con todos los recursos. Gracias a todos. Para su respuesta

Siga los siguientes pasos para obtener un jar distribuible de su biblioteca (verificado para el proyecto de biblioteca sin dependencias externas):

  1. Cree su proyecto de biblioteca. Límpialo. Obtendrá un archivo libraryProjectName.jar dentro de la carpeta bin. (Asegúrese de que "es Library" está seleccionado en el proyecto de la biblioteca.
  2. Copie el archivo .jar en la carpeta libs de su aplicación de destino
  3. Actualice su área de trabajo y presione Ctr+Shift+O (en Windwows / Linux) o Cmd+Shift+O (en Mac) para resolver cualquier dependencia de importación de la biblioteca agregada.

Comentario en caso de enfrentarse a cualquier problema.

Probado con adt 22.2.1

  1. Crea tu proyecto de biblioteca
  2. Crear proyecto vacío
  3. Agregar proyecto de biblioteca a su proyecto vacío
  4. Construir proyecto
  5. En / gen carpeta que encontrará clase para su proyecto de biblioteca, esto contendrá sus recursos para el proyecto lib.
  6. Exportar JAR (seleccione sólo esta clase … de la carpeta / gen)
  7. Exportar JAR desde su proyecto lib
  8. Cambiar el nombre de los archivos exportados para comprimir y combinar el contenido
  9. Cambie el nombre del archivo final como JAR y agréguelo al proyecto.

No puede empaquetar los archivos de recursos en jar. Puede exportar su proyecto como un proyecto de biblioteca.

Exporta sus clases de utilidad que no se refieren a recursos en android, es decir, clases java puras como archivo jar.

Compruebe el enlace de abajo

http://developer.android.com/tools/projects/index.html

Para hacer de su proyecto un proyecto de biblioteca

Haga clic derecho en su proyecto. Ir a las propiedades. Elige Android. Asegúrese de que está activada la biblioteca.

Para referir el proyecto de biblioteca en su proyecto android

Haga clic derecho en su proyecto. Ir a las propiedades. Elige Android. Haga clic en Agregar. Examinar y el proyecto de la biblioteca.

Citando los documentos

Un proyecto de biblioteca difiere de un proyecto de aplicación estándar de Android en que no se puede compilar directamente a su propio .apk y ejecutarlo en un dispositivo Android. Del mismo modo, no puede exportar el proyecto de biblioteca a un archivo JAR autónomo, como lo haría para una biblioteca verdadera. En su lugar, debe compilar la biblioteca indirectamente, haciendo referencia a la biblioteca en la aplicación dependiente y crear esa aplicación.

Aquí está una manera fácil de hacerlo con la hormiga, encontró esto en el código fuente de Volley. Agregue el código a continuación a custom_rules.xml y luego construya con ant jar

 <?xml version="1.0" encoding="UTF-8"?> <project name="volley-rules" default="help"> <!-- A rule to generate the JAR for inclusion in an Android application. Output file will be bin/volley.jar --> <target name="jar" depends="-compile"> <jar destfile="bin/volley.jar" basedir="bin/classes" /> </target> </project> 

Con Eclipse ADT v22.6.2 sólo puede exportar jar haciendo clic en Archivo-> Exportar-> Java-> Jar File, seleccione los directorios y el destino donde guardar.

Según el último Android Studio v1.2, es tan fácil como tener un pastel. Solución completa ya respondida con capturas de pantalla en este enlace

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.