APK (file format)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
APK
APK format icon.png
Filename extension .apk
Internet media type application/vnd.android.package-archive
Type of format Package management system, file archive
Container for Software package
Extended from JAR and ZIP
Most Android phones, like the Galaxy Nexus, allow installation of applications directly via APK files, or indirectly via the Android Market

Android application package file (APK) is the file format used to distribute and install application software and middleware onto the Google's Android operating system. To make an APK file, a program for Android is first compiled, and then all of its parts are packaged into one file. This holds all of that program's code such as (.dex files), resources, assets, certificates, and manifest file. As is the case with many file formats, APK files can have any name needed, but must end with the four character, three letter extension, .apk.[1][2][3][4]

APK files are ZIP file formatted packages based on the JAR file format, with .apk file extensions. The MIME type associated with APK files is application/vnd.android.package-archive.[5]

Contents

[edit] Contents

An APK file is an archive that usually contains the following folders:

  • META-INF directory:
    • MANIFEST.MF: the Manifest file
    • CERT.RSA: The certificate of the application.
    • CERT.SF: The list of resources and SHA-1 digest; for example:
 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=
  • res: the directory containing resources not compiled into resources.arsc (see below).
  • AndroidManifest.xml: An additional Android manifest file, describing the name, version, access rights, referenced library files for the application. This file may be in Android binary XML that can be converted into human-readable plaintext XML with tools such as AXMLPrinter2 or apktool.
  • classes.dex: The classes compiled in the dex format understandable by the Dalvik virtual machine
  • resources.arsc : a file containing pre-compiled resources, such as binary XML for example.

[edit] See also

[edit] References

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages