APK, APKS, APKM, XAPK, and AAB: Android Package Formats Explained

Compare Android package formats, learn which ones install directly and which require an installer, and check compatibility and safety before downloading.

APK, APKS, APKM, XAPK, and AAB: Android Package Formats Explained

When downloading Android apps, you may see .apk, .apks, .apkm, and .xapk. Developers also frequently mention .aab. They may all look like "Android installers," but they are not installed the same way.

Remember this distinction: APK is the app package Android actually installs and runs. APKS, APKM, and XAPK are usually containers for one or more APKs and possibly extra files. AAB is primarily how developers publish an app to an app store.

At a glance: how do the five formats differ?

FormatWhat it isTap to install directly?Common installation methodMain users
APKAn installable Android app packageUsuallySystem installer or adb installEveryday users, developers
APKSAn archive of APKs, often made with Google's bundletoolUsually notbundletool or a split APK installerDevelopers, testers
APKMAPKMirror's container for split appsNoAPKMirror InstallerAPKMirror users
XAPKA third-party container that may hold APKs, split APKs, or OBB dataNoAn XAPK installer compatible with its sourceThird-party app-store users
AABAndroid App Bundle, a store publishing formatNoFirst generate APKs through a store or bundletoolDevelopers, app stores

A common confusion: APKS is a collection of APKs, not a typo. APKM and XAPK are not official Android installation formats either.

What is an APK?

APK is commonly called Android Package Kit (Android app package) and has the .apk extension. It contains code, resources, a manifest, signatures, and other material the app needs. It is a format Android devices actually install.

A traditional APK is often an all-in-one package with resources for multiple CPU architectures, screen densities, and languages. It is broadly compatible and simple to install, but may include resources your phone will never use, making the file larger.

How do you install an APK?

  1. Download it from a trusted source.
  2. When Android prompts you, allow "install unknown apps" only for the current browser or file manager.
  3. Open the APK, review the app name and permissions, and install it.
  4. Turn that source's installation permission off afterward if you no longer need to sideload.

If the app is already installed, a replacement APK must satisfy package-name, signature, and version rules. Otherwise Android may report "App not installed," a signature mismatch, or an attempted downgrade.

Why do split APKs exist?

Comparison of single-APK and split-APK installation structures
Single-APK and split-APK installation structures compared.

To reduce downloads, Google Play can deliver only the files a particular device needs. An app might be split into:

  • base.apk: base code and core resources;
  • CPU configuration APKs such as arm64-v8a, armeabi-v7a, and x86_64;
  • screen-density APKs such as hdpi, xhdpi, and xxhdpi;
  • language APKs such as Chinese or English;
  • feature modules downloaded on demand.

Android installs these split APKs together as one app. base.apk alone is often insufficient. Missing a required split may prevent installation or keep the app from working correctly.

What is APKS?

A .apks file is usually an APK Set Archive. Google's bundletool can convert an AAB to an .apks archive containing base, configuration, and feature APKs for different device combinations.

Think of it as a store of parts. The installation tool reads the phone's CPU, screen density, language, and other details, then selects the right set of APKs.

How do you install APKS?

For developers, the standard approach is bundletool:

bundletool install-apks --apks=app.apks

This requires an Android device connected to a computer with USB debugging enabled. Other users can import an .apks file into a trustworthy split APK installer, but should verify the tool's source and the package signature first.

Do not simply rename .apks to .apk. Renaming does not change the archive's contents, and the system installer still cannot process it as one APK.

What is APKM?

.apkm is a container format used by APKMirror to store and install split apps. An APKM file usually contains base.apk, configuration splits, and metadata describing them.

APKM is not a universal Android or Google Play standard. It normally requires APKMirror Installer. Like APKS, it packages related APKs together, but the container structure, source, and recommended tool differ.

How do you install APKM?

  1. Install APKMirror Installer from a trusted source.
  2. Select the downloaded .apkm file in the installer.
  3. Let the installer identify the device and choose the required splits.
  4. Review the app information and authorize installation.

Installation can still fail if the APKM's architecture, minimum Android version, or signature is incompatible with the device. An installer can unpack the files; it cannot erase compatibility requirements.

What is XAPK?

.xapk is another third-party container, but there is no single official Android specification for it. It commonly appears on third-party download platforms and may contain:

  • one ordinary APK;
  • a set of split APKs;
  • OBB data files needed by a game or large app;
  • metadata describing package contents, version, and installation location.

Different platforms may produce different XAPK structures, so one XAPK installer may not open files from every source. The safest approach is to use the tool explicitly recommended by the file's source and verify the source, signature, and permissions before installation.

What is AAB, and why can't you install it directly?

AAB stands for Android App Bundle and has the .aab extension. It contains the app's supported code and resources, leaving the job of generating device-specific APKs to Google Play or another distribution system that supports AAB.

Thus AAB is a publishing format, not a direct installation format for Android devices. After a developer uploads an AAB, a store creates the right APK combination for a phone. Testers can use bundletool to generate APKS from an AAB and then install it.

In simplified form:

Developer builds AAB
      ↓
App store or bundletool processes it
      ↓
Generates base APK + configuration APKs + feature APKs
      ↓
Android device installs the required combination

Which should you download: APK, APKS, or APKM?

Decide in this order:

  1. An official app store works: install from it first; it selects a compatible package automatically.
  2. A universal or single APK is available: this is usually the easiest choice for everyday users.
  3. Only APKM is available: use APKMirror Installer; do not rename the extension.
  4. Only APKS is available: use bundletool or a trusted split APK installer.
  5. Only XAPK is available: identify the source platform and use the trustworthy tool it recommends.
  6. You have an AAB: it is not meant for direct installation by ordinary users; developer tools must generate APKs or APKS first.

How do you choose arm64-v8a, armeabi-v7a, x86_64, or nodpi?

A download page's "Variant" label usually describes device compatibility, not a version number:

  • arm64-v8a: most newer Android phones and tablets;
  • armeabi-v7a: older 32-bit ARM devices;
  • x86 / x86_64: some emulators, Chromebooks, and a few older devices;
  • nodpi: no screen-density restriction;
  • xhdpi / xxhdpi / xxxhdpi: specific screen densities;
  • minAPI: the minimum required Android API level.

If unsure, do not guess from the phone model alone. Use a trustworthy device-information tool to check ABI and DPI, or choose a Universal/nodpi variant if the download page offers one. The wrong CPU architecture or minimum Android version is a common reason for parsing errors and "App not installed."

Is sideloading safe? Check these seven things first

Checking the source, signature, and permissions before sideloading an Android app
Check the source, signature, and permissions before sideloading.

A file extension cannot prove safety. An ordinary APK can be risky; wrapping a file as APKM or XAPK does not make it safer. Before installing, check:

  1. Source: prefer the developer's website, official code repository, or a platform with a clear reputation.
  2. Signature: an update should match the installed app's signing identity; a mismatch deserves investigation.
  3. Hash: if the developer provides SHA-256, compare it with the downloaded file to detect corruption or replacement.
  4. Permissions: be cautious if a simple flashlight or wallpaper app asks for SMS, accessibility, or device-admin access.
  5. Version: confirm the version, release date, package name, and minimum Android version.
  6. Scanning: a reliable multi-engine service can help, but "no detection" is not an absolute safety guarantee.
  7. Installation permission: temporarily enable "install unknown apps" for the source you use, then turn it off.

In particular, do not casually disable system security, grant root access, or run unknown scripts just to install an ordinary app.

Common installation errors and what to check

1. "There was a problem parsing the package"

The download may be incomplete, the APK may require a newer Android version, or the file may actually be APKS, APKM, or XAPK. Recheck its size, extension, and minimum Android version.

2. "App not installed"

Possible causes include a signature mismatch with an older version, a downgrade, insufficient storage, an incompatible CPU architecture, or a missing split APK. Do not keep retrying without checking which cause applies.

3. "Package conflicts with an existing package"

The phone usually has an app with the same package name but a different signature. Uninstalling the old app may erase local data, so check backups first. A safer choice is an update signed consistently with the original installation channel.

4. Installation succeeds, but the app crashes on launch

A language, architecture, resource, or dynamic-feature split may be missing. The app may also depend on Google Play services or integrity checks. Obtain a complete package suited to the device rather than looking for an alleged "bypass" build.

Frequently asked questions

How do APK and APKS differ?

APK is an Android app package. APKS is an archive containing several APKs. You can usually open a single APK directly, whereas APKS requires a tool that selects and installs the correct split APKs together.

Is APKM an APK?

APKM usually contains APKs, but the APKM file itself is not a standard APK that Android can open directly. APKMirror Installer parses and installs it.

Can you rename APKS to APK and install it?

No. Renaming does not alter the archive. APKS often contains multiple APKs that a compatible tool must select and submit together.

Can you install an AAB directly on a phone?

No. AAB is a publishing format. Google Play, another supported platform, or bundletool must first generate installable APKs.

Is APKM or XAPK safer?

Format does not determine safety. Check the source, developer signature, file hash, package name, version, and permissions. Use a trustworthy installer appropriate to the container's source.

Will installing an APK affect future app-store updates?

If package name and signature match the store version and version ordering is valid, store updates may still be possible. A differently signed package cannot directly replace it.

Summary

  • APK: the app package Android actually installs, generally easiest for direct user installation.
  • APKS: a set of APKs often produced by bundletool; a suitable tool must select and install the splits.
  • APKM: APKMirror's split-package container; use APKMirror Installer.
  • XAPK: a third-party container that may include APKs, splits, or OBB data; installation depends on its source.
  • AAB: an app-store publishing format, not directly installable.

For a cautious default, use an official app store first, then the developer's website. When sideloading is necessary, choose a device-compatible file with a trustworthy signature and use an installer that supports its format.

References