¿Qué es un APK? Así son las apps de Android ‘por dentro’

¿Qué es un APK? Así son las apps de Android ‘por dentro’

Carlos González

Los usuarios de Android están acostumbrados a leer APK, y eso es porque se trata de una extensión de archivo. Pero más concretamente, de la extensión de archivo de las aplicaciones del sistema operativo Android; ‘Android Application Package’. Por su traducción al español es un ‘Paquete de Aplicación Android’ y, en realidad, es una variante del formato JAR de Java. Se utiliza, como ya sabemos, para la distribución e instalación de componentes empaquetados para Android.

El archivo APK es a Android lo que un fichero APPX sería para Windows, o un paquete Deb para sistemas operativos como Ubuntu, y otros basados en Debian. Un archivo APK contiene un programa de Android compilado y otras partes; el código del programa incluyendo archivos .dex, todos los recursos, los activos, el archivo manifest y los certificados necesarios. En realidad, funciona como un fichero comprimido en formato .zip, pero con otra extensión. Por eso, los archivos .apk pueden ser abiertos con software como WinZip`, WinRAR o 7-Zip entre otros similares.

¿Qué hay dentro de un archivo APK? Así son las apps de Android a nivel técnico

Aunque existen algunas particularidades en los archivos APK, suelen coincidir en sus archivos y directorios casi al completo. La estructura de los mismos parte por el directorio META-INF con tres ficheros: el archivo manifest, el certificado de la app y una lista de recursos y el resumen SHA-1. Se componen también del directorio de código compilado con otros seis directorios por cada capa de software de un procesador. Hay código compilado específico para chips ARM, ARMv7 y superiores, ARMv8 arm64 y superiores, chips x86, x86-64 y procesadores MIPS.

En este tipo de archivos hay también un directorio res que corresponde a los recursos no compilados en resources.arsc, assets para los recursos de aplicaciones, AndroidManifest.xml que es un manifiesto adicional y classes.dex con las clases compiladas para Dalvik y ART. Y también hay un fichero resources.arsc, al que hacíamos referencia anteriormente, que contiene los recursos precompilados. En definitiva, un archivo APK es bastante más complejo de lo que parece.

Los usuarios lo tienen fácil para instalar archivos APK incluso cuando no provienen de la Google Play Store porque, a diferencia de Apple, la compañía de Mountain View sí que mantiene Android habilitado para la instalación de archivos .APK firmados por terceros de manera sencilla. Así, la disponibilidad de apps es muy superior, pero el riesgo de infección de malware también es un factor que influye en mayor medida a los usuarios de dispositivos móviles Android.