Estoy usando AndroidStudio y tengo este proyecto como se muestra:
Lo que está dentro del círculo azul es myLib. myLib también necesita usar una biblioteca externa que esté dentro del círculo rojo y un paquete de apache (círculo verde).
Así que quiero hacer que todo esto se convierta en un solo .jar, para poder usarlo en otros proyectos.
Se agradecería mucho una guía paso a paso, soy un principiante en el mundo de los desarrolladores.
¡Gracias!
java
android
jar
android-studio
dum4ll3
fuente
fuente
Respuestas:
Abra build.gradle para el proyecto de biblioteca
Escriba dos tareas en build.gradle: deleteJar y createJar y agregue la regla createJar.dependsOn (deleteJar, build)
El código de arriba:
Expanda el panel de Gradle desde la derecha y abra todas las tareas en su biblioteca-> otros. Verá dos nuevas tareas allí: createJar y deleteJar
Haga doble clic en createJar
Una vez que la tarea se ejecute correctamente, obtenga su jar generado de la ruta mencionada en la tarea createJar, es decir, libs / xxxx.jar
copie el jar recién generado en la carpeta lib de su proyecto requerido -> haga clic derecho -> seleccione "agregar como biblioteca"
fuente
release
. Tengodebug
ydefault
, pero norelease
carpeta. ¿Qué versión del complemento estás usando? ¿Sabes si esto está documentado en alguna parte?release
carpeta.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 el contenido. Ese archivo jar tendrá solo su código, no las otras bibliotecas de Apache de las que depende. Recomendaría distribuirlo de esta manera; es un poco extraño agrupar dependencias dentro de su biblioteca, y es más normal que los usuarios de esas bibliotecas tengan 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, tal vez de diferentes versiones ). Además, evita posibles problemas de licencia relacionados con la redistribución del código de otras personas si tuviera que publicar su biblioteca.
Tome el código que también debe compilarse en un jar y muévalo a un módulo Java simple separado en Android Studio:
Con suerte, su proyecto debería estar desarrollándose normalmente ahora. Después de hacer una compilación, se colocará un archivo jar para su biblioteca Java en el directorio build / libs del directorio de su módulo. Si desea construir el archivo jar a mano, puede ejecutar su tarea de archivo jar desde la ventana de Gradle:
fuente
En el IDE de Android Studio, acceda a la " barra Ejecutar cualquier cosa " mediante:
CTRL+ CTRL+
gradle CreateFullJarRelease
+ENTERDespués de eso, encontrará su artefacto en esta carpeta en su proyecto
Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar
O
Gradle ya tiene una
Task
para eso, en el menú lateral de Gradle, debajo de laother
carpeta.Luego, desplácese hacia abajo
createFullJarRelease
y haga clic en él.Después de eso, encontrará su artefacto en esta carpeta en su proyecto
Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar
fuente
build\intermediates\intermediate-jars\release
classes.jar
,full.jar
yres.jar
. ¿Debo importar todos los archivos jar siempre que quiera usarlos?Simplemente agregue esto al build.gradle de su módulo java. Incluirá bibliotecas dependientes en el archivo.
Esto dará como resultado el archivo [nombre_módulo] / build / libs / [nombre_módulo] .jar.
fuente
El archivo .jar se generará automáticamente cuando compile / ejecute su aplicación.
Puede encontrar su archivo class.jar en root_folder / app / build / intermediates / bundles / debug
fuente
Vaya a la pestaña Gradle en Android Studio, luego seleccione el proyecto de biblioteca.
Luego ve a Tareas
Luego ve a Otro
Haga doble clic en bundleReleaseaar
Puede encontrar sus
.aar
archivos enyour_module/build/outputs/aar/your-release.aar
fuente
.jar
no.aar
la forma en que encontré fue encontrar la salida del compilador del proyecto (estructura del proyecto> proyecto). luego busque la carpeta completada del módulo que desea convertir en un jar, comprímalo con zip y cambie la extensión de la salida de zip a jar.
fuente
fuente
Si ejecuta una tarea de Gradle desde AndroidStudio [Más]
o vía terminal
entonces podrás encontrar
.aar
en.aar
El archivo (Biblioteca de Android) consta del archivo.jar
(Biblioteca de Java) y recursos adicionales de Android..aar
archivo es un archivo zip con AAR extensión es por eso que se puede sustituir.aar
con.zip
o correrfuente