APK File Structure

Category: Article

Are you curious about what an APK File would consist of? Let’s click here to find out APK File Structure would include of which files and how important of these files

APK (Standing for Android Package) is the package of the file format used by Android for mobile applications and middleware to install and distribute. Have you ever wondered APK File Structure consists of which files? The article would help you to find out more.

To make an APK file, a program for Android is firstly gathered, and then all of the other parts would be put together into one container file. An APK file comprises resources, program’s code (such as .dex files), certificates, assets, and manifest file.

APK File structure

APK files are container files, which contain both resources, Application code, also the application manifest file.

APK-Structure
Reverse Engineer Android Apk files.

Every APK file structure would include these parts listed below:

  • META-INF is a folder that contains information of meta about APK file contents. This folder consists typically of CERT.RSA, CERT.SF and MANIFEST.MF files.
  • CERT.RSA and CERT.SF files that contain security certificates for Android application. More specifically, CERT.SF will consist of the list of all records that stay inside the APK with their SHA-1 digests. CERT.RSA has the application’s public certificate.
  • MANIFEST.MF is a manifest file that includes all important information about the application. This file is a must-have file in the APK file structure. The data is used by Google Play, Android operating system, and Android build environment. Also, other things could be contained: the package name of application; the licenses that the application would require from the operating system or other applications; the hardware and software features are needed for the application; And also the capabilities of the application.

Check Out: How to Open APK File

More information

The code of the application is located in the folder named “lib” This folder may include different subfolders each of them will have compiled code for unique hardware architectures. Listed as below is a list of supported architectures and corresponding folders:

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

Media files would be contained in a folder named “assets” of the APK file structure. Assets could be restored through AssetManager.

Resources are put in the directory “res” and resources.arsc file. Resources may also consist of XML files, string files, icons, images, fonts, user interface layouts, and many other things.

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

Leave a Reply

Your email address will not be published. Required fields are marked *