Sé de proyectos de la Biblioteca de Android, que le permiten crear un proyecto de fuente compartida que se puede incorporar a las aplicaciones de Android según sea necesario. Sin embargo, eso requiere que la fuente esté disponible.
Estoy buscando una manera de construir y distribuir una biblioteca de código cerrado que pueda usarse en otros proyectos de Android como un JAR tradicional. Esto requerirá el uso del compilador de Android, por lo que no es un archivo JAR vanilla-Java. FWIW, no necesito incorporar recursos / diseños en el JAR.
He visto http://andparcel.com/ pero parece una solución alternativa, y preferiría usar algo 'oficialmente respaldado' por Google. Además, debo asegurarme de que el JAR que construyo sea compatible con la versión antigua / nueva del SDK de Android (es decir, necesito una forma de configurar la versión de la plataforma de destino, etc.).
¿Los últimos conjuntos de herramientas de Android permiten la creación / consumo de archivos binarios JAR? ¿Puede señalar alguna documentación sobre cómo puedo hacerlo?
Respuestas:
Si crea un proyecto de biblioteca de Android sin tener ningún recurso, el ADT (notado por primera vez en r16) creará un archivo .jar con el mismo nombre que el proyecto en la carpeta 'bin'.
fuente
myapp.jar
en la/bin
carpeta. Hayclasses.jar
, pero no es así, ¿verdad?Android no proporciona un tipo especial de Android-JAR. Pero lo que puede hacer es agregar un build.xml a su proyecto y construir el JAR con ant.
Mi build.xml se ve así:
Construya el JAR ejecutándose
ant jar
en la carpeta principal de sus proyectos.fuente
bin/classes
, por lo que<jar destfile="MyAndroidLib.jar" basedir="bin/">
debería serlo<jar destfile="MyAndroidLib.jar" basedir="bin/classes/">
Puede crear un proyecto Java "normal" e importar desde allí Android.jar. Luego, tendrá acceso a todos los componentes del SDK. Luego, puede exportar su proyecto como jar ... y cargarlo desde su aplicación de Android. Esto funciona muy bien y parece una forma bastante sencilla de hacerlo.
fuente
simplemente vaya a las propiedades del proyecto del que desea hacer jar.Haga clic en la pestaña de Android. y marque en la biblioteca Is. ahora puede ver el archivo .jar en la carpeta bin. úselo donde quiera usarlo.
fuente
La única solución 'oficialmente admitida' por Google es el proyecto Biblioteca, y requiere que se distribuya el código fuente. Puede crear un JAR de la manera normal, pero no puede incluir ni hacer referencia a recursos dentro de él.
Desafortunadamente, creo que tampoco es posible incluir un JAR empaquetado dentro de un proyecto de Biblioteca, como un medio para evitar el requisito del código fuente.
fuente
En la última versión de Android Studio 1.2, la creación de la biblioteca JAR se hizo tan simple como señalar y hacer clic.
Pasos a seguir :
El siguiente paso es agregar su Biblioteca Jar como dependencia en su aplicación. Tan simple como eso
.... O simplemente puede agregar la siguiente línea a su archivo gradle de la aplicación
Google está promocionando Android Archive (AAR), aunque JAR es compatible con Android Studio. Para descubrir la diferencia entre AAR y JAR, consulte este enlace
fuente
Prueba esto: esto funciona
1) haga que su proyecto de biblioteca sea un proyecto normal deseleccionando el 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) Déle .jar que quiera usar su biblioteca.
5) Dígales que solo importen jar externos a la ruta de compilación.
esto funcionará bien con todos los recursos. la mejor de las suertes.
fuente
El ADT crea una carpeta bin que contiene todos los archivos de clase para todos los archivos y directorios de origen coincidentes en su proyecto, puede usar el comando jar, crear un archivo jar que contenga estos archivos y directorios de clase y presumiblemente su biblioteca, pero por supuesto el el nivel de plataforma de los archivos de clase solo se orientaría al nivel actual de la compilación del proyecto; necesitaría un archivo jar diferente para cada nivel de plataforma; Sin embargo, lo mejor de esto es que el archivo R.class está incluido en el árbol del directorio del proyecto y por lo tanto tiene acceso a sus recursos. No sé si esta es la forma oficial de hacer cosas en Android, pero funcionó para mí.
fuente
En nuestro proyecto, estamos creando apk (usando apkbuilder) que se instala en / system / framework y agrega este apk en classpath predeterminado. Para la compilación de aplicaciones usando el jar, estamos creando un archivo jar (usando jar c).
Nota: No tenemos recursos en la biblioteca.
fuente
.jar es solo un archivo .zip que contiene un archivo .class (puede intentar cambiar la extensión de cualquier archivo .jar a .zip y luego ver el resultado). Fácilmente, puede crear cualquier biblioteca .jar para cualquier propósito comprimiendo el archivo .class.
fuente
Pasos:
1) Abrir archivo project.properties
2) Agregar valor
android.library=true
3) Guardar archivo
4) Desde el menú eclipse para el proyecto, seleccione construir automáticamente y luego seleccione limpiar
Resultado: se crea un nuevo jarro debajo de bin .
fuente