APK (formato)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
APK
APK format icon.png
Desarrollador
Google
Información general
Extensión de archivo .apk
Tipo de MIME application/vnd.android.package-archive
Tipo de formato Aplicación móvil
Contenedor para Android
Extendido de ZIP
JAR
Formato abierto Sí 
[editar datos en Wikidata]

Un archivo con extensión .apk (Android Application Package, significado en español: Aplicación empaquetada de Android) es un paquete para el sistema operativo Android. Este formato es una variante del formato JAR de Java y se usa para distribuir e instalar componentes empaquetados para la plataforma Android para teléfonos inteligentes y tabletas,[1] [2] así como también algunas distribuciones enfocadas a su uso en ordenadores personales de escritorio y portátiles (Note y Netbook respectivamente) ejemplo: Remix OS

Los archivos APK son análogos a otros paquetes de software como APPX en Microsoft Windows o paquetes Deb en sistemas operativos basados ​​en Debian como Ubuntu. Para crear un archivo APK, primero se compila un programa para Android, y luego todas sus partes se empaquetan en un solo archivo. Un archivo APK contiene todo el código de ese programa (como archivos .dex), recursos, activos, certificados y archivo de manifest. Como es el caso con muchos formatos de archivo, los archivos APK pueden tener cualquier nombre necesario, siempre que el nombre del archivo termine en ".apk".

El Formato .APK es básicamente un archivo comprimido en ZIP con diferente extensión por lo cual pueden ser abiertos e inspeccionados usando un software archivador de ficheros como 7-Zip, Winzip, WinRAR o Ark.

Para abrirlo como aplicación debe usarse un emulador de android para diferentes plataformas.

Contenido[editar]

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

  • META-INF directorio:
    • MANIFEST.MF: el Archivo manifest
    • CERT.RSA: El certificado de la aplicacion
    • CERT.SF: la lista de recursos y Digestor de las líneas correspondientes en el archivo MANIFEST.MF; por ejemplo:
 Signature-Version: 1.0
 Created-By: 1.0 (Android)
 SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
 ...
 Name: res/layout/exchange_component_back_bottom.xml
 SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
 ...
 Name: res/drawable-hdpi/icon.png
 SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
  • lib: El directorio que contiene el código compilado que es específico de una capa de software de un procesador, el directorio se divide en más directorios dentro de él:
    • armeabi:

Código compilado sólo para todos los procesadores basados ​​en ARM

    • armeabi-v7a: Código de compilación sólo para todos los procesadores ARMv7 y superiores
    • arm64-v8a: Código compilado para todos los procesadores ARMv8 arm64 y superiores[3] [4]
    • x86: Código compilado sólo para procesadores x86
    • x86_64: Código compilado sólo para procesadores x86 64
    • mips: Código compilado sólo para procesadores MIPS
  • res: El directorio que contiene recursos no compilados en resources.arsc (ver más abajo).
  • assets: Un directorio que contiene recursos de aplicaciones, que puede ser recuperado por

AssetManager.

  • AndroidManifest.xml: Un archivo de manifiesto adicional de Android, que describe el nombre, la versión, los derechos de acceso y los archivos de bibliotecas referenciados para la aplicación. Este archivo puede estar en Android binario XML Que se pueden convertir en XML de texto claro legible por humanos con herramientas tales como AXMLPrinter2, android-apktool, o Androguard.
  • classes.dex: Las clases compiladas en el formato de archivo dex Comprensible por el Dalvik virtual machine
  • resources.arsc: Un archivo que contiene recursos precompilados, como XML binario, por ejemplo.

El tipo MIME definido para .apk es application/vnd.android.package-archive.[5]

A su vez durante el desarrollo de una aplicación los parámetros para que la misma se ejecute en distintos dispositivos son definidos de manera cautelosa, esto con el fin de que las mismas puedan ser compatibles a partir de una versión en especial o bien desde la última, para que así versiones posteriores de android puedan también ser capaces de ejecutarla sin problema alguno.

En algunos casos las mismas al ser programadas y compiladas dependiendo de su fin y objetivo pueden o no requerir algún tipo de autorización "Root" o SuperUsuario mientras que en otras más de uso general puede ser opcional u obviarse este requisito algunos son juegos otros programas y/o apps.

Véase también[editar]

Referencias[editar]