Cómo crear un archivo .jar desde un proyecto de Android Studio
Estoy usando AndroidStudio y tengo este proyecto como se muestra:
- Biblioteca de archivos de Android (aar) vs jar estándar
- Generación de archivos Jar en Android Studio
- Cómo incluir archivos jar en mi proyecto eclipse
- ¿Se incluyen métodos no referenciados en el ejecutable final?
- Jar Mismatch Se encontraron 2 versiones de android-support-v4.jar en la lista de dependencias
Lo que hay dentro del círculo azul es myLib. MyLib también necesita usar un lib externo 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, así que puedo usarlo en otros proyectos.
Una guía paso a paso sería muy apreciada, soy un principiante en el mundo del desarrollador.
¡Gracias!
- Modificar clase en jar: android build failed
- Android Proguard saltar el frasco externo
- Proyectos de la Biblioteca de Android: Refactorización y navegación
- Cree una biblioteca de Jar Android para su distribución
- Dependencias transicionales de AAR en Maven
- Android no puede encontrar la clase de la jarra externa
- Cómo quitar el archivo de clase en archivo .jar y cambiarlo con mi propia implementación
- Bibliotecas Android / Java
-
Abrir build.gradle para el proyecto de biblioteca
-
Escribe dos tareas en build.gradle – deleteJar y createJar y agrega la regla createJar.dependsOn (deleteJar, build)
El código de arriba:
task deleteJar(type: Delete) { delete 'libs/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)
-
Expanda el panel gradle desde la derecha y abra todas las tareas bajo yourlibrary-> otros. Verás dos tareas nuevas allí: createJar y deleteJar
-
Haga doble clic en createJar
-
Una vez que la tarea se ejecute correctamente, obtenga el jar generado de la ruta mencionada en la tarea createJar ie libs / xxxx.jar
-
Copia pasado el frasco en la carpeta lib del proyecto requerido -> tecleo derecho -> seleccione "agrega como biblioteca"
Si configura el código como un módulo Java simple en Gradle, entonces es muy fácil que Gradle le dé un archivo jar con el contenido. Ese archivo jar tendrá sólo 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 que los usuarios de esas bibliotecas tengan que incluir esas dependencias por su cuenta (porque de lo contrario hay colisiones de esos proyectos ya están enlazando copias de la biblioteca, quizás de diferentes versiones ). Además, evita posibles problemas de licencias en la redistribución del código de otras personas si va a publicar su biblioteca.
Tome el código que también necesita ser compilado en un tarro, y muévalo a un módulo Java plano separado en Android Studio:
- Menú Archivo > Nuevo módulo … > Biblioteca Java
- Configure la biblioteca, el nombre del paquete Java y los nombres de clases en el asistente. (Si no desea que cree una clase para usted, sólo puede eliminarla una vez que se crea el módulo)
- En tu código de Android, configura una dependencia en el nuevo módulo para que pueda usar el código en tu nueva biblioteca:
- Archivo > Estructura del proyecto > Módulos > (su módulo Android) > Dependencias > + > Dependencia del módulo . Vea la captura de pantalla a continuación:
- Elija su módulo de la lista en el cuadro de diálogo que aparece:
Esperemos que su proyecto debe estar construyendo normalmente ahora. Después de hacer una compilación, un archivo jar para su biblioteca Java se colocará en el directorio build / libs en el directorio de su módulo. Si desea crear el archivo jar a mano, puede ejecutar su tarea de archivo de construcción jar desde la ventana Gradle:
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 resultará en el archivo [module_name] / build / libs / [module_name] .jar.
La manera que encontré era encontrar la salida del compilador del proyecto (estructura del proyecto> proyecto). Entonces encuentre la carpeta complied del módulo que usted desea dar vuelta a un tarro, lo comprime con la cremallera y cambia la extensión de la salida de la cremallera a la jarra.
- IOS / Objective-C equivalente de Android AsyncTask
- Android adb, recuperar base de datos utilizando run-as