APK (Android Package Kit) is the package file format used by the android operating system for distribution and installation of mobile application and middle ware.
It contains all the elements that an app needs to install correctly on an android device. Just like .exe files on windows, you can place an APK file on android device to install an app. It is called side loading. Generally, when we install an app from play store, its APK automatically gets installed on device.
However, APKs can be extracted from many other sources than play store and lets you have applications which are not available on play store.
Where you can find APK for an app?
APK files are stored in a .zip file in their own folders, which compresses all the information within the APK file into a single file to save storage. It generally lies in application folder in settings of your device. This can be unzipped by clicking on it and you can view the content within the file.
APK usually contains following files and directories:
1) MANIFEST .me - Manifest file
2) CERT.RSA - Certificate of the application
3) CERT.SF - List of resources and SHA-1 of the corresponding lines in the MANIFEST.MF files.
Lib: It contains the compiled code that is platform dependent, it is split into more directories within it, which are:
a) armeabi: Compiled code for all ARM based processors only
b) armeabi-v7a: Compiled code for all ARMv7 and above based processors only
c) arm64-v8a: Compiled code for all ARMv8 arm64 and above based processors only
d) x86: Compiled code for x86 processors only
e) x86_64: Compiled code for x86 64 processors only
f) mips: Compiled code for MIPS processors only
a) Res: The directory containing resources not compiled into resources.arsc.
b) Assets: A directory containing applications assets, which can be retrieved by Asset Manager.
c) Android manifest.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.
d) Classes.dex: The classes compiled in the dex file format.
e) Resources.arsc: A file containing pre-compiled resources.
How to create an APK?
Creating an APK, to use for your own app or for beta testing an App, isn't difficult. It can be designed in Android Studio, Integrated Device Environment (IDE) for android developers. know more here.
It is not advised to download APK from random unknown sources. To know more about it - Please click here.