Structure of an APK File

APK (Android Package) is the file format used for distributing and installing mobile applications on the Android operating system.

An APK is essentially an archive that contains the following files:
  • META-INF folder:
    • MANIFEST.MF – A manifest file that contains SHA hashes of all the files in the APK package;
    • Application Certificate;
    • Files with additional metadata.
  • lib – A folder containing compiled platform-dependent libraries. It includes subdirectories for corresponding platforms: armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips.
  • res – A folder that contains Android resources in the Binary XML format.
  • assets – A folder containing the application's assets.
  • AndroidManifest.xml – The Android application's manifest file. This file is stored in a compiled Binary XML format.
  • classes.dex – One or more files that represent the application's code compiled into Dalvik bytecode.
  • resources.arsc – A file containing a mapping table of resource IDs to their corresponding files.