Programación: El formato APK de las aplicaciones Android

tutorial gratis programacion android

Si has llegado a esta página es porque probablemente sepas que es el formato APK aunque sea por encima, si no es así, antes de profundizar te explicaré en pocas palabras lo que es.

Formato APK en aplicaciones Android

Un archivo APK es un archivo comprimido en ZIP que contiene todos los recursos, archivos y código fuente de una aplicación Android.

Qué contiene un APK

Si descomprimimos un APK veremos que en su interior tiene archivos y carpetas con, entre otras cosas:

  • Recursos de la app: imágenes, sonidos, etc
  • XML con información: Botones, animaciones, manifiesto (AndroidManifest.xml) con información de la app
  • Firma digital de la aplicación para subirse a google pla

Obtener el APK de una aplicación

Para que podáis aprender el formato APK necesitaréis un APK obviamente. Si habéis programado algo podéis usar uno de vuestros APKs para descomprimirlo, si no habéis pogramado nada, podéis coger un APK de google play. Para ello:

Bajáis en el móvil la app Airdroid. Esta aplicación además de para obtener apks os servirá para controlar el móvil desde el navegador de un ordenador.

En el ordenador, váis a esta pagina: http://web.airdroid.com Os recomiendo usar chrome, en firefox me ha reseteado el ordenador... En la pantalla del navegador os saldra un codigo QR que es el que usaremos para escanearlo con la app Airdroid que nos hemos bajado en el móvil. De esta forma asociaremos nuestro navegador del ordenador con el móvil.

Es importante que el ordenador y móvil estén en la misma red wifi, si no, creo que no funcionará

 

 

 

 

 

 

En el navegador del ordenador, pulsáis en el botón que pone apps y en la ventana que se abre en el botón de descargar de la aplicación que queráis bajar el apk

Esto nos bajará un archivo APK a nuestro ordenador, lo abrimos con un descompresor (WinRar, winZip), para ello usamos boton derecho, abrir con...

Nos encontraremos con una estructura de directorios como la siguiente.

  1. Assets y res: Contienen los recursos de la app. Los xml no están en formato normal, están comprimidos
  2. META-INF: Clave pública con la que se ha firmado la app. La privada la tendrá el programador
  3. Archivos .DEX: Código de la aplicación. Podéis ver en este artículo como decompilar ese codigo java
  4. AndroidManifest.xml: Manifiesto de la aplicación en versión comprimida

 

 

Dentro de META-INF encontramos:

  • MANIFEST-MF: Manifiesto con todos los archivos del APK junto con su huella digital en sha1
  • CERT.RSA: Certificado RSA autofirmado, es decir, no lo certifica ninguna entidad externa.
  • CERT.SF: Listado de archivos con huela digital en sha1, pero la huella se saca de las lineas que describen a cada archivo en el manifest.mf

Con esto concluimos la explicación de los archivos APK

Votos totales: 549