Open APK File

Information, tips and instructions

Structure of the APK File

META-INF is a folder which contains meta information about APK file contents. This folder typically contains MANIFEST.MF, CERT.RSA and CERT.SF files.

MANIFEST.MF is a manifest file which contains essential information about the app. This information is consumed by the Android operating system, Google Play and Android build environment. Among other things it contains: the app’s package name, the permissions which the app requires from the operating system or from other apps, the software and hardware features required by the app and capabilities of the app.

CERT.RSA and CERT.SF files contain security certificates for Android application. More specifically CERT.SF contains the list of all files inside the APK with their SHA-1 digests. CERT.RSA contains public certificate of the app.

Compiled code of the app is stored in the “lib” folder. This folder may contain multiple subfolders each of which will have compiled code for specific hardware architectures. Below is a list of supported architectures and corresponding folders:

  • armeabi: compiled code for ARM based processors
  • armeabi-v7a: compiled code for ARMv7 and above processors
  • arm64-v8a: compiled code for ARMv8 arm64 and above processors
  • x86: compiled code for x86 processors
  • x86_64: compiled code for x86_64 processors
  • mips: compiled code for MIPS processors

Media files are contained in “assets” folder of the APK file. Assets could be retrieved via AssetManager.

Resources are located in “res” directory and resources.arsc file. Resources may include XML files, images, string files, icons, user interface layouts, fonts and many more.

Every Android application must have an AndroidManifest.xml in its root folder. This file is an additional XML manifest which contains following information:

  • It names the Java package of the application. This name serves as a unique identifier of the app.
  • It lists the libraries which Android application should be linked against.
  • It also defines minimum level of Android API required by the app.

For more information about AndroidManifest.XML structure read our article or article on Android Developers website.

APK file may also include classes.dex file which contains all of the application bytecode in Dalvik Virtual Machine compatible format.