El paquete de Android (APK) [1] es el formato de archivo del paquete de aplicaciones de Android utilizado por el sistema operativo Android y varios otros sistemas operativos basados en Android para la distribución e instalación de aplicaciones móviles , juegos móviles y middleware .
Extensión de nombre de archivo | .apk , .xapk , .apks ,.apkm |
---|---|
Tipo de medio de Internet | application/vnd.android.package-archive |
Tipo de formato | Formato de paquete |
Contenedor para | Aplicaciones móviles |
Extendido desde | FRASCO |
APK es análogo a otros paquetes de software como APPX en Microsoft Windows o un paquete Debian en sistemas operativos basados en Debian . Para crear un archivo APK, primero se compila un programa para Android usando Android Studio , [2] y luego todas sus partes se empaquetan en un archivo contenedor. Un archivo APK contiene todo el código de un programa (como archivos .dex ), recursos, activos, certificados y archivo de manifiesto . Como es el caso con muchos formatos de archivo, los archivos APK pueden tener cualquier nombre necesario, pero puede ser necesario que el nombre del archivo termine en la extensión del archivo para ser reconocidos como tales. [3] [4][5] [6]
El sistema Android permite a los usuarios instalar manualmente archivos APK solo después de activar una configuración de "Fuentes desconocidas" que permite la instalación desde fuentes distintas de las confiables como Google Play. Uno puede hacerlo por muchas razones, como instalar aplicaciones que no se encuentran en la tienda o instalar una versión anterior. [7] Aunque uno puede degradar una aplicación de esta manera desinstalando primero la nueva versión, hacerlo a través de Android Debug Bridge es mejor ya que permite guardar datos. [8]
Contenidos del paquete
Un archivo APK es un archivo que generalmente contiene los siguientes archivos y directorios:
META-INF
directorio:MANIFEST.MF
: el archivo de manifiesto- El certificado de la aplicación.
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 firma: 1.0Creado por: 1.0 (Android)SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE =...Nombre: res / layout / exchange_component_back_bottom.xmlResumen SHA1: eACjMjESj7Zkf0cBFTZ0nqWrt7w =Nombre: res / drawable-hdpi / icon.pngResumen de SHA1: DGEqylP8W0n0iV / ZzBx3MW0WGCA =
lib
: el directorio que contiene el código compilado que depende de la plataforma; el directorio se divide en más directorios dentro de él:armeabi-v7a
: código compilado solo para todos los procesadores basados en ARMv7 y superioresarm64-v8a
: código compilado solo para todos los procesadores ARMv8 arm64 y superiores [9]x86
: código compilado solo para procesadores x86x86_64
: código compilado solo para procesadores x86 64ymips
están obsoletos desde NDK r17 [10] [11]armeabi
res
: el directorio que contiene los recursos no compilados en resources.arsc (ver más abajo).assets
: un directorio que contiene los activos de las aplicaciones, que puede recuperarAssetManager
.AndroidManifest.xml
: Un archivo de manifiesto de Android adicional, que describe el nombre, la versión, los derechos de acceso y los archivos de biblioteca a los que se hace referencia para la aplicación. Este archivo puede estar en XML binario de Android que se puede convertir en XML de texto sin formato legible por humanos con herramientas como AXMLPrinter2, apktool o Androguard.classes.dex
: Las clases compiladas en el formato de archivo dex comprensible por la máquina virtual Dalvik y por Android Runtime .resources.arsc
: un archivo que contiene recursos precompilados, como XML binario, por ejemplo.
Ver también
Referencias
- ^ "Fundamentos de la aplicación | Desarrolladores de Android" (habilitado) . Consultado el 3 de diciembre de 2018 . Texto "Desarrolladores" ignorado ( ayuda )Mantenimiento de CS1: idioma no reconocido ( enlace )
- ^ "Estudio de aplicaciones | Estudio de Android" . Desarrolladores de Android .
- ^ "Dentro del marco de aplicaciones de Android" (video) . Sitios de Google . 2008.
- ^ Hatem Ben Yacoub (20 de abril de 2018). "Consejos: Cómo instalar archivos apk en el emulador de Android" . Revista Ha abierto . Archivado desde el original el 26 de mayo de 2012.
- ^ "La estructura de los archivos de paquetes de Android (APK)" . OPhone SDN . Red de desarrolladores de software OPhone. 17 de noviembre de 2010. Archivado desde el original el 8 de febrero de 2011.
- ^ Eagleapk (2 de enero de 2021). "¡Tu tienda de un solo paso para todas las aplicaciones!" . Foro de desarrolladores SDX . Eagle APK. Archivado desde el original el 5 de enero de 2021.
- ^ "Fuentes desconocidas: ¡Todo lo que necesita saber!" . Android Central . 27 de julio de 2018.
- ^ "Cómo degradar una aplicación en Android - No se necesita root" . desarrolladores xda . 25 de agosto de 2017.
- ^ "ABI Management | Desarrolladores de Android" . developer.android.com . Consultado el 16 de junio de 2018 .
- ^ "ABI de Android | NDK de Android" . Desarrolladores de Android . 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 ABI se eliminó en NDK r17.
- ^ Dan, Albert (5 de septiembre de 2018). "Registro de cambios r17" . GitHub . Consultado el 14 de agosto de 2020 .
Se ha eliminado la compatibilidad con ARMv5 (armeabi), MIPS y MIPS64. Intentar construir cualquiera de estas ABI resultará en un error.