He estado leyendo algunos artículos sobre la nueva adopción de Gradle como sistema de compilación estándar para aplicaciones de Android. Bueno, viniendo del desarrollo estándar de Java, generalmente dependo de los archivos jar para construir mi proyecto. Sin embargo, parece que Android también tiene paquetes aar , que son equivalentes a los archivos dll en un sistema operativo Windows, como se menciona aquí :
Primero, debe darse cuenta de que la plataforma Android no permite "bibliotecas compartidas" a nivel de aplicación. En las plataformas de lenguaje de programación "tradicional", C, C ++, Java, lo que sea, tenemos este mecanismo para compartir bibliotecas de tiempo de ejecución. (Por ejemplo, DLL en Windows, DSO en Unix, Jar en JVM, etc.). Sin embargo, en Android, no puede hacerlo, a menos que sea Google o un fabricante de teléfonos (consulte la Nota 1 a pie de página a continuación). Como desarrollador de aplicaciones, esto puede ser una limitación fundamental. "Compartir" o "reutilizar" códigos, tanto en tiempo de compilación como en tiempo de ejecución, es una parte muy importante de la práctica de ingeniería de software. Esto es bastante difícil (no imposible, solo más difícil) en Android debido a la limitación mencionada anteriormente.
Sin embargo, tengo algunas dudas sobre este concepto. Quiero decir, ¿cuándo debería estar interesado un desarrollador incluyendo las dependencias aar en su aplicación? ¿Estas dependencias están ajustadas a alguna versión mínima de SDK?
Por ejemplo, en un proyecto accedo a un puerto COM, para el que uso las bibliotecas .so precompiladas de NDK . ¿Tengo que crear un aar si quiero compartir esta utilidad?