# Android application package

Android Package Kit (APK) és un format per a paquets utilitzat pel sistema operatiu Android per a la distribució i instal·lació d'aplicacions mòbils i programari intermediari.
Els fitxers APK són anàlegs a altres paquets de programari tal com APPX en Microsoft Windows o els packets DEB a Debian-basats en sistemes operatius com Ubuntu. Per fer un fitxer APK, primer es compila un programa per a Android, i totes les seves parts s'envasen en un sol arxiu. Un fitxer APK conté tot el codi del programa (com ara els fitxers Dalvik), recursos, actius, certificats i el fitxer de manifest. Com és el cas de molts formats de fitxer, els fitxers APK poden necessitar qualsevol nom, sempre que el nom del fitxer finalitzi en ".apk".
Els fitxers APK són un tipus d'fitxer informàtic, específicament en els paquets amb format zip basat en el format d'arxiu JAR, amb .apk com la extensió del fitxer. La MIME type associat amb fitxers APK és application/vnd.android.package-archive.
Els fitxers APK es poden instal·lar en els dispositius executant Android com la instal·lació de programari en un PC. Quan un usuari descarrega i instal·la una aplicació d'Android des d'una font oficial (com ara la Google Play), o d'algun altre lloc (no oficial), estan instal·lant un fitxer APK al dispositiu. Un usuari o desenvolupador també pot instal·lar un fitxer APK directament a un dispositiu (és a dir, no mitjançant la descàrrega des de la xarxa) des d'un ordinador d'escriptori, Utilitzant un programa de comunicació com adb, o des d'una aplicació de gestor de fitxers en un procés conegut com a sideloading. Per motius de seguretat, en la majoria dels dispositius Android la capacitat d'instal·lar des de llocs no oficials o directament des d'un escriptori o gestor de fitxers està desactivada per defecte. Els usuaris poden habilitar-lo modificant la configuració "Fonts desconegudes" al menú Configuració.

## Contingut

Un arxiu APK normalment conté els fitxers següents:
* El directori META-INF:
** MANIFEST.MF: l'arxiu de manifest
** CERT.RSA: el certificat de l'aplicació
** CERT.SF: Llista de recursos i SHA-1 dirigit a les línies corresponents del fitxer MANIFEST.MF; per exemple:
* lib: directori que contí el codi compilat propi de la capa de programari del processador, conté diversos directoris:
** armeabi: codi compilat per tots els processadors d'arquitectura ARM
** armeabi-v7a: codi compilat per tots els processador ARMv7
** arm64-v8a: Codi compilat per a només tots els processadors ARMv8 arm64 i anteriors
** x86: codi compilat només per a tots els processadors x86
** x86_64: codi compilat només per a tots els processadors AMD64
** mips: codi compilat per tots els processador MIPS
* res: directori que conté els recursos no compilats a resources.arsc
* assets: directori que conté els recursos del programa, s'hi pot accedir des de AssetManager.
* AndroidManifest.xml: Un manifest addicional d'Android, descrivint el nom, versió, drets d'accés, i llibreries utilitzades per l'aplicació. Aquest arxiu pot sol estar escrit en XML binari d'Android, transformable a un XML llegible com a text pla.
* classes.dex: classes compilades en format DEX interpretable per la màquina virtual Dalvik
* resources.arsc : un arxiu que conté recursos pre-compilats, com arxius XML per exemple.

## Vegeu també

* Android Runtime
* Dalvik

## Referències

* ↑ «Inside the Android Application Framework» (video). Google Sites. Google, 2008.
* ↑ Hatem Ben Yacoub. «Tips: How to install apk files on Android Emulator». Open Handset Magazine, 19-01-2008. Arxivat de l'original el 14 d'octubre 2008. [Consulta: 20 maig 2012].
* ↑ «The Structure of Android Package (APK) Files». OPhone SDN. OPhone Software Developer Network, 17-11-2010. Arxivat de l'original el 15 d'agost 2011. [Consulta: 10 juliol 2017].
* ↑ chibucks. «Learn to Fish: General Structure of an APK». SDX-Developers Forum. Simple Machines Forum, 28-05-2010. Arxivat de l'original el 17 de juliol 2012. [Consulta: 10 juliol 2017].
* ↑ «Developer description of MIME type for .apk», 21-10-2008. [Consulta: 20 agost 2012].
* ↑ «What is an APK File and How to Install it?».
* ↑ «ABI Management | Android Developers».
* ↑ «ABI Management | Android Developers».