Articulo de referencia

apk (formato de archivo)

El paquete de Android con la extensión de archivo apk [ 1 ] es un formato de paquete utilizado por Android y otros sistemas operativos basados ​​en Android para la distribución ...

El paquete de Android con la extensión de archivo apk [ 1 ] es un formato de paquete utilizado por Android y otros sistemas operativos basados ​​en Android para la distribución e instalación de aplicaciones móviles , juegos móviles y middleware . Un archivo que utiliza este formato puede crearse a partir de código fuente escrito en Java o Kotlin .

Los archivos APK se pueden generar y firmar desde Android App Bundles . [ 2 ]

Descripción general

APK es análogo a otros paquetes de software como APPX en Microsoft Windows , APP para HarmonyOS o un paquete Debian en sistemas operativos basados ​​en Debian . Para crear un archivo APK, primero se compila un programa para Android utilizando una herramienta como Android Studio [ 3 ] o Visual Studio , y luego todas sus partes se empaquetan en un único archivo contenedor. Un archivo APK contiene todo el código del programa (como los archivos .dex ), recursos, activos, certificados y el archivo de manifiesto . Al igual que ocurre con muchos formatos de archivo, los archivos APK pueden tener cualquier nombre deseado, pero para que el sistema los reconozca, puede ser necesario el sufijo .apk. [ 4 ]

La mayoría de las implementaciones de Android permiten a los usuarios instalar manualmente archivos APK ( sideloading ) solo después de activar la opción "Fuentes desconocidas", que permite la instalación desde fuentes distintas a las de confianza, como Google Play . Esto puede hacerse por diversas razones, como durante el desarrollo de aplicaciones, para instalar aplicaciones no disponibles en la tienda o para instalar una versión anterior de una aplicación de la Play Store. [ 5 ]

En 2026, Google anunció que la opción "Fuentes desconocidas" se reemplazará por un proceso que implica habilitar el modo desarrollador y una pausa de 24 horas antes de permitir la instalación de aplicaciones de desarrolladores no verificados. La verificación requiere un documento de identidad y un pago de 25 dólares. [ 6 ]

Uso en otros sistemas operativos

El BlackBerry 10 basado en QNX incluía un entorno de ejecución de Android; inicialmente, las aplicaciones debían empaquetarse en el formato nativo del sistema operativo e instalarse a través de la tienda de aplicaciones BlackBerry World o mediante carga lateral. [ 7 ] A partir de BlackBerry 10.2.1, el sistema operativo añadió soporte para la carga lateral directa de archivos APK. [ 8 ] [ 9 ]

En Build 2015, Microsoft anunció un entorno de ejecución de Android para Windows 10 Mobile con nombre en clave "Astoria" (más tarde renombrado Windows Bridge para Android ), que permitiría a las aplicaciones de Android ejecutarse en un entorno emulado con cambios mínimos y tener acceso a las API de la plataforma de Microsoft, como Bing Maps y Xbox Live, como reemplazos casi directos de los servicios móviles de Google equivalentes . Los servicios móviles de Google y ciertas API principales no estarían disponibles, y se dijo que las aplicaciones con "una profunda integración en tareas en segundo plano" no serían compatibles con el entorno. [ 10 ] [ 11 ] El 25 de febrero de 2016, después de haberlo retrasado ya en noviembre de 2015, [ 12 ] [ 13 ] Microsoft anunció que Windows Bridge para Android se archivaría, en favor de centrarse en Windows Bridge para iOS (una implementación nativa de las API de Objective-C de iOS , que permite convertir proyectos de Xcode en proyectos de Visual Studio dirigidos a plataformas Windows) y en el desarrollo multiplataforma utilizando el lenguaje C# en su lugar. [ 14 ] [ 15 ] Partes de Astoria se utilizaron como base para el Subsistema de Windows para Linux (WSL) en la versión para PC de Windows 10. [ 16 ]

El 9 de agosto de 2019, HarmonyOS llegó con compatibilidad con APK a través de la base AOSP con kernel Linux en HarmonyOS 1.0 para televisores y también el 2 de junio de 2021, la versión HarmonyOS 2.0 se extendió a teléfonos inteligentes y tabletas hasta la versión Galaxy Edition bajo el sistema HarmonyOS NEXT para la siguiente iteración HarmonyOS 5 beta a la versión comercial, comenzando el 26 de noviembre de 2024 estable, dejando oficialmente el soporte para APK. [ 17 ] [ 18 ] [ 19 ]

En junio de 2021, Microsoft anunció el "Subsistema de Windows para Android" (WSA), una capa basada en AOSP para la instalación de aplicaciones de Android en Windows 11. El software utilizaba un compilador en tiempo de ejecución desarrollado por Intel , y las aplicaciones podían instalarse, publicarse a través de Microsoft Store u obtenerse mediante un cliente de Amazon Appstore. [ 20 ] [ 21 ] [ 22 ] Microsoft dejó de dar soporte a WSA y lo descontinuó en marzo de 2025. [ 23 ]

Contenido del paquete

Un archivo APK es un archivo ZIP que normalmente contiene los siguientes archivos y directorios:

  • META-INFdirectorio:
    • MANIFEST.MF: el archivo Manifest
    • El certificado de la solicitud.
    • CERT.SF: La lista de recursos y un resumen SHA-1 de las líneas correspondientes en el archivo MANIFEST.MF; por ejemplo:
      Versión de la firma: 1.0 Creado por: 1.0 (Android) Manifiesto SHA1-Digest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE= ... Nombre: res/layout/exchange_component_back_bottom.xml Resumen SHA1: eACjMjESj7Zkf0cBFTZ0nqWrt7w= Nombre: res/drawable-hdpi/icon.png Resumen SHA1: DGEqylP8W0n0iV/ZzBx3MW0WGCA= 
  • lib: el directorio que contiene el código compilado que depende de la plataforma, por ejemplo, bibliotecas nativas que se pueden cargar a través de JNI ; el directorio se divide en más directorios dentro de él:
    • armeabi-v7a: código compilado solo para procesadores basados ​​en ARMv7 y superiores
    • arm64-v8a: código compilado solo para todos los procesadores basados ​​en ARMv8 , arm64 y superiores [ 24 ]
    • x86: código compilado solo para procesadores x86
    • x86_64: código compilado solo para procesadores x86-64
    • mipsy armeabi, obsoleto desde NDK r17 [ 25 ] [ 26 ]
  • res: el directorio que contiene recursos no compilados resources.arsc(ver más abajo).
  • assets: un directorio que contiene los recursos de las aplicaciones, que pueden recuperarse mediante AssetManager.
  • AndroidManifest.xmlArchivo de manifiesto de Android adicional que describe el nombre, la versión, los permisos de acceso y los archivos de biblioteca a los que se hace referencia para la aplicación. Este archivo puede estar en formato XML binario de Android , que se puede convertir a XML de texto plano legible mediante herramientas como AXMLPrinter2, Apktool M o Androguard.
  • classes.dex: Las clases compiladas en el formato de archivo dex ejecutadas por Android Runtime (o por la máquina virtual Dalvik utilizada en Android 4.4 KitKat ).
  • resources.arsc: un archivo que contiene recursos precompilados, como por ejemplo XML binario.

Véase también

Lecturas adicionales

  • Hildenbrand, Jerry (27 de enero de 2017). "¿Se considera piratería la instalación de archivos APK mediante carga lateral?" . Android Central . Consultado el 10 de febrero de 2023 .

Referencias

  1. "Fundamentos de la aplicación" . Desarrolladores de Android . Archivado del original el 21 de noviembre de 2020. Consultado el 3 de diciembre de 2018 .
  2. Peters, Jay (30 de junio de 2021). "Google se está alejando de los APK en la Play Store" . The Verge . Archivado del original el 4 de agosto de 2021. Recuperado el 15 de agosto de 2021 .
  3. "Application Studio" . Desarrolladores de Android . Archivado del original el 12 de septiembre de 2021. Consultado el 22 de febrero de 2020 .
  4. "Dentro del marco de trabajo de aplicaciones de Android" (vídeo) . Google Sites . 2008. Archivado del original el 24/12/2011 . Consultado el 22/10/2008 .
  5. "Fuentes desconocidas: ¡Todo lo que necesitas saber!" . Android Central . 27 de julio de 2018. Archivado del original el 1 de septiembre de 2021 . Consultado el 4 de marzo de 2020 .
  6. Whitwam, Ryan (20 de marzo de 2026). "Google detalla un nuevo proceso de 24 horas para instalar aplicaciones de Android no verificadas" . Ars Technica . Consultado el 3 de abril de 2026 .
  7. Segan, Sascha (31 de enero de 2013). "Cómo BlackBerry 10 ejecuta 28.000 aplicaciones de Android sin botón de retroceso" . PC Magazine . Archivado del original el 5 de junio de 2023. Consultado el 18 de junio de 2014 .
  8. Kastrenakes, Jacob (18 de junio de 2014). "BlackBerry traerá miles de aplicaciones de la tienda de Amazon a sus teléfonos" . The Verge . Archivado del original el 4 de junio de 2023. Recuperado el 18 de junio de 2014 .
  9. "No se mencionó la compatibilidad con aplicaciones de Android en el anuncio oficial de BlackBerry 10.2.1, ¡pero está ahí!" . CrackBerry . 28 de enero de 2014. Consultado el 22 de noviembre de 2025 .
  10. "¿Cómo funcionará la compatibilidad con Android en Windows 10 para teléfonos?" . TechRadar Pro . Archivado del original el 19 de mayo de 2015 . Consultado el 22 de mayo de 2015 .
  11. "Microsoft trae aplicaciones de Android e iOS a Windows 10" . Ars Technica . 29 de abril de 2015. Archivado del original el 8 de julio de 2017. Consultado el 30 de abril de 2015 .
  12. "Es posible que Microsoft finalmente no traiga aplicaciones de Android a Windows" . The Verge . Vox Media. 16 de noviembre de 2015. Archivado del original el 17 de noviembre de 2015. Consultado el 16 de noviembre de 2015 .
  13. Collins, Katie (16 de noviembre de 2015). "Microsoft pone en pausa la herramienta para portar aplicaciones de Android a Windows 10" . CNET . CBS Interactive . Archivado del original el 9 de julio de 2017. Recuperado el 26 de mayo de 2022 .
  14. "Microsoft confirma: la tecnología Android-on-Windows Astoria ha desaparecido" . Ars Technica . Conde Nast. 25 de febrero de 2016. Archivado del original el 25 de febrero de 2016. Consultado el 25 de febrero de 2016 .
  15. "Actualización sobre la oportunidad para desarrolladores y Windows 10" . Blog de creación de aplicaciones para Windows . Microsoft. 25 de febrero de 2016. Archivado del original el 26 de febrero de 2016. Consultado el 25 de febrero de 2016 .
  16. Bright, Peter (6 de abril de 2016). "Por qué Microsoft necesitaba que Windows ejecutara software Linux" . Ars Technica . Condé Nast . Archivado del original el 6 de abril de 2016. Recuperado el 26 de mayo de 2022 .
  17. "Las aplicaciones de Google siguen funcionando después de actualizar a HarmonyOS desde EMUI, no hay por qué alarmarse" . Huawei . 11 de junio de 2021. Archivado del original el 7 de junio de 2025. Consultado el 26 de mayo de 2025 .
  18. Matsui, Emiko (7 de febrero de 2024). "HarmonyOS NEXT Galaxy se presentará oficialmente a los usuarios en primavera: Huawei" . Sala de prensa de HC . Archivado del original el 14 de septiembre de 2024. Consultado el 12 de febrero de 2024 .
  19. Matsui, Emiko (11 de abril de 2024). "Huawei lanzará la versión beta de HarmonyOS NEXT en el evento HDC 2024 en junio" . Huawei Central . Archivado del original el 29 de mayo de 2024. Consultado el 11 de abril de 2024 .
  20. Jordan, Novet; Leswing, Kif; Haselton, Todd (24 de junio de 2021). "Microsoft Windows 11 será compatible con aplicaciones de Android" . CNBC . Archivado del original el 24 de junio de 2021. Consultado el 24 de junio de 2021 .
  21. Warren, Tom (24 de junio de 2021). "Microsoft trae aplicaciones de Android a Windows 11 con la Appstore de Amazon" . The Verge . Archivado del original el 24 de junio de 2021. Recuperado el 24 de junio de 2021 .
  22. Gartenberg, Chaim (24 de junio de 2021). "Las aplicaciones de Android con procesadores Intel de Windows 11 también funcionarán en procesadores AMD y Arm" . The Verge . Archivado del original el 24 de junio de 2021. Consultado el 24 de junio de 2021 .
  23. Warren, Tom (5 de marzo de 2024). "Microsoft dejará de dar soporte a sus aplicaciones de Android en el subsistema Windows 11 en 2025" . The Verge . Archivado del original el 5 de mayo de 2024. Consultado el 5 de marzo de 2024 .
  24. "Gestión de ABI | Desarrolladores de Android" . developer.android.com . Archivado del original el 31 de mayo de 2019. Consultado el 16 de junio de 2018 .
  25. "Android ABIs | Android NDK" . Desarrolladores de Android . Archivado del original el 8 de abril de 2019. Consultado el 14 de agosto de 2020. Nota : Históricamente, el NDK admitía ARMv5 (armeabi) y MIPS de 32 y 64 bits , pero la compatibilidad con estas ABIs se eliminó en NDK r17.
  26. Dan, Albert (5 de septiembre de 2018). "Registro de cambios r17" . GitHub . Archivado del original el 28 de agosto de 2020. Consultado el 14 de agosto de 2020. Se ha eliminado la compatibilidad con ARMv5 (armeabi), MIPS y MIPS64. Intentar compilar cualquiera de estas ABI generará un error.