Cómo hacer un .jar desde un proyecto de Android Studio

Estoy usando AndroidStudio y tengo este proyecto como se muestra:

enter image description here

Lo que está dentro del círculo azul es myLib. myLib también necesita usar una lib externa que esté dentro del círculo rojo, y un paquete apache (círculo verde).

Así que quiero hacer que todo esto se convierta en un solo .jar, por lo que puedo usarlo en otros proyectos.

Una guía paso a paso sería muy apreciada, soy un principiante en el mundo de los desarrolladores.

¡Gracias!

  • Abra build.gradle para proyecto de biblioteca enter image description here

  • Escriba dos tareas en build.gradle – deleteJar y createJar y agregue la regla createJar.dependsOn (deleteJar, build) enter image description here

El código de arriba:

task deleteJar(type: Delete) { delete 'libs/jars/logmanagementlib.jar' } task createJar(type: Copy) { from('build/intermediates/bundles/release/') into('libs/jars/') include('classes.jar') rename('classes.jar', 'logmanagementlib.jar') } createJar.dependsOn(deleteJar, build) 
  • Expande el panel de gradle desde la derecha y abre todas las tareas en yourlibrary-> others. Verá dos nuevas tareas allí: createJar y deleteJar enter image description here

  • Haga doble clic en createJar enter image description here

  • Una vez que la tarea se ejecuta correctamente, obtenga su jar generado de la ruta mencionada en la tarea createJar, es decir, libs / xxxx.jar enter image description here

  • copie el archivo generado recientemente en la carpeta de lib de su proyecto requerido -> haga clic derecho -> seleccione “agregar como biblioteca”

Si configura el código como un módulo Java simple en Gradle, entonces es realmente fácil que Gradle le proporcione un archivo jar con los contenidos. Ese archivo jar solo tendrá su código, no las otras bibliotecas de Apache de las que depende. Recomiendo distribuirlo de esta manera; es un poco extraño agrupar dependencias dentro de su biblioteca, y es más normal para los usuarios de esas bibliotecas tener que incluir esas dependencias por su cuenta (porque de lo contrario hay colisiones de esos proyectos que ya están vinculando copias de la biblioteca, quizás de diferentes versiones). ) Además, evitas posibles problemas de licencia para redistribuir el código de otras personas si publicaras tu biblioteca.

Tome el código que también necesita comstackrse en un jar, y muévalo a un módulo Java simple separado en Android Studio:

  1. Menú Archivo > Nuevo módulo … > Biblioteca Java
  2. Configure la biblioteca, el nombre del paquete de Java y los nombres de clase en el asistente. (Si no desea que cree una clase para usted, puede simplemente eliminarla una vez que se haya creado el módulo)
  3. En su código de Android, configure una dependencia en el nuevo módulo para que pueda usar el código en su nueva biblioteca:
  4. Archivo > Estructura del proyecto > Módulos > (su Módulo Android) > Dependencias > + > Dependencia del módulo . Vea la captura de pantalla a continuación: enter image description here
  5. Elija su módulo de la lista en el cuadro de diálogo que aparece: enter image description here

Con suerte, su proyecto debería estar construyendo normalmente ahora. Después de hacer una comstackción, se colocará un archivo jar para su biblioteca Java en el directorio comstackción / libs en el directorio de su módulo. Si desea comstackr el archivo jar a mano, puede ejecutar su tarea de archivo jar build desde la ventana de Gradle: enter image description here

Simplemente agregue esto a build.gradle de su módulo java. Incluirá bibliotecas dependientes en el archivo.

 mainClassName = "com.company.application.Main" jar { manifest { attributes "Main-Class": "$mainClassName" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } 

Esto dará como resultado el archivo [nombre_módulo] / build / libs / [nombre_módulo] .jar.

la forma en que encontré fue encontrar el resultado del comstackdor del proyecto (estructura del proyecto> proyecto). luego encuentre la carpeta comstackda del módulo que desea convertir en un contenedor, comprímalo con zip y cambie la extensión del resultado de zip a jar.

El archivo .jar se generará automáticamente cuando compile / ejecute su aplicación.

Puede encontrar su archivo class.jar de root_folder / app / build / intermedios / bundles / debug

ubicación del archivo jar