APK stands for Android Package. It's the file format Android uses to install apps. When you install something from Google Play, your phone receives the app in this format (or in pieces that become one), installs it, and then removes the installer file.
What's inside an APK
An APK is a ZIP archive with a fixed layout. If you rename one to .zip you can open it on a computer. Inside you'll find:
- AndroidManifest.xml: the app's package name, version, the permissions it asks for, and the minimum Android version it supports.
- classes.dex: the compiled app code.
- res/ and resources.arsc: images, layouts and text in different languages.
- lib/: native code for specific processor types, if the app uses any.
- META-INF/ or a signing block: the developer's digital signature.
Why the signature matters
Every APK is signed by its developer. Android uses that signature to make sure an update comes from the same developer as the version you already have. If someone modifies an app and re-signs it, Android refuses to install it as an update over the original. That's one reason modified APKs from unknown sites are risky: you can't tell what was changed.
APK, AAB and split APKs
Developers now upload apps to Google Play as Android App Bundles (AAB). Google Play then builds smaller APKs for each device, sending only the code and graphics your phone needs. That is why some apps come as several files (split APKs) rather than one. A single APK file from a developer's website usually contains everything, so it's often larger than the Play download.
When you'd install an APK yourself
Most people never need to. Common legitimate reasons include:
- Your device doesn't have Google Play.
- The developer distributes the app from their own site. Signal and VLC both publish official APKs, for example.
- You're testing a beta version the developer shared directly.
If you do, follow the steps in our APK installation guide, and read how APK installs compare with Google Play so you know what you give up, such as automatic updates.