Split APK packages
Split APK packages are the component files that make up a single Android app when it is distributed through Google Play’s app bundle system or packaged inside a container format such as…
Split APK packages are the component files that make up a single Android app when it is distributed through Google Play’s app bundle system or packaged inside a container format such as APKM or XAPK. Instead of one monolithic file, the app is split into a base APK plus configuration APKs that contain only the resources needed for a specific device. Understanding how these files fit together matters because the way you obtain and install them determines whether the app is safe.
What a split APK is
A split APK is one piece of a larger Android app package. Since Android 5.0 (API 21), Google Play has been able to deliver an app as several APK files instead of one monolithic file. The developer uploads an Android App Bundle (AAB) to Google Play, and Play generates a set of APKs optimised for each device: a base APK containing the core code, plus configuration splits for screen density, CPU architecture, and language resources. When you install from the Play Store, you normally never see these files; the store downloads and installs the correct combination silently. The format is described in the Android Developers documentation on app bundles and APK splits (Android Developers, 2024).
The base APK is the part that holds the app’s manifest, code, and shared resources. Configuration splits are optional APKs that carry resources for a specific screen density, CPU architecture, or language. Installing a split set manually requires installing all the pieces together; a missing split can cause the app to fail at launch.
A typical split set contains:
- Base APK: the core code and resources common to all devices.
- Configuration splits: resources for screen density, CPU architecture, and language.
- Dynamic feature modules: code and resources loaded on demand (for example, an extra camera mode or a chat module) when the app needs them.
The term “split APK” is often used loosely to mean any multi-file Android package. The formal distinction is that a split is a part of a single app, not a standalone app. When you see a folder with several .apk files that together form one app, that folder is the split set. Some tools wrap these sets in a container such as .apkm or .xapk so they can be distributed as a single file.
Why split APKs exist
Google Play does not serve one APK to every device. When you install an app from the Play Store, the store sends a set of APK files that match your device’s screen density, CPU architecture, and language. The base APK contains the core code and manifest; configuration splits add resources for specific screen sizes, locales, or CPU types (Android Developers, “About app bundles”, 2023). The same mechanism powers Android App Bundles: developers upload an AAB, and Google Play generates and signs the optimised set of APKs for each device. This is why an app installed from the Play Store can be smaller than the same app downloaded as a universal APK from a developer’s site.
How base and configuration splits work together
When you download an app from Google Play, you usually do not receive one single APK file. The Play Store receives an Android App Bundle (AAB) from the developer and generates a set of optimised APKs for your specific device. That set includes:
- A base APK, which contains the core code, resources, and manifest.
- Configuration APKs, which contain only the resources for a specific screen density, CPU architecture, or language.
The system installs the base APK plus the configuration splits that match your device. The Android Developers documentation explains that the app bundle format is the publishing format, while the Play Store generates and serves the optimised split APKs to each device (Android Developers, 2024).
APKM and XAPK containers outside Google Play
When you download an app outside Google Play, you usually get one of two containers:
- APKM: a container that bundles a base APK and one or more configuration splits, plus a manifest of the files inside. It is used by some app stores and requires a compatible installer.
- XAPK: a similar container that wraps the APK set and optional OBB data files (large game assets). It is used by third-party app stores and game distributors.
Neither APKM nor XAPK is an official Google format. Google Play delivers the same underlying split APKs to devices, but it does so invisibly through the Play Store client. Both containers are archives, not installable packages themselves. Android cannot install them directly from the file manager; you need an installer app that understands the container, or you need to extract the base APK and install it manually. That extra layer is where signature checks can be skipped or misapplied, so the trustworthiness of the installer matters as much as the source of the file.
How to install split APKs safely
Choose a source you can verify
Download split APK containers only from app stores or repositories that publish cryptographic signatures and list the original developer. Check that the site displays the app’s package name and version code before you download. If the source does not show these details, stop and find a mirror that does.
Use an installer that checks signatures
Pick an installer app that verifies APK signatures against the original developer’s certificate before it unpacks the container. Split APKs Installer (SAI) and similar tools perform this check when you open an .apkm or .xapk file. Avoid installers that skip signature verification or request root access unless you have a specific, informed reason.
Install the pieces in the correct order
When you install a split set manually, install the base APK first, then each configuration split. If you extract an .apkm or .xapk container yourself, look inside for a manifest file that lists the required pieces. Match every split to your device’s screen density, CPU architecture, and language. Installing a split meant for a different architecture will not break your device, but the app may crash on launch or display layout errors.
Inspect the manifest before you commit
Open the AndroidManifest.xml inside the base APK with a tool such as Apktool or a dedicated APK analyser. Confirm the package name matches the app you intend to install, and check the requested permissions. If an app asks for permissions unrelated to its function, treat that as a warning and investigate further.
Delete the container after a successful install
Once the app launches and works correctly, remove the .apkm or .xapk file from your device. These containers are not needed for the app to run and only occupy storage.
What can go wrong with split APK installs
A missing configuration split causes the most common failure. If you install only the base APK and skip the density or architecture split, the app may open to a blank screen or close immediately. Reinstall the full set to fix this.
Signature mismatch is the most serious risk. An installer that does not verify signatures can install a base APK signed by the developer alongside a split APK that has been modified. The resulting app can run with altered behaviour. Always confirm that your installer checks every split against the same signing certificate.
Container formats add a layer of obscurity. An .apkm or .xapk file can contain extra files that a file manager will not show. Use an installer that lists every file inside the container before it begins the installation, and review that list.
When to avoid split APKs entirely
Stick to the Play Store or a pre-installed app marketplace when the app handles sensitive data: banking, password management, health records, or two-factor authentication. The extra verification layers in official stores reduce the chance of a tampered split set reaching your device. For open-source apps, obtain the split set from the developer’s own release page and verify the published checksum before you install.
More in this guide
Android app sources and package formatsAPK filesHow to spot a fake app.
Read next
-
APK files
An APK (Android Package Kit) is the file format Android uses to distribute and install apps.
-
Android App Bundles
If you have ever downloaded an app from the Google Play Store, you almost certainly installed an Android App Bundle (AAB) without knowing it.
-
Google Play
Google Play is the default app store on most Android devices, but it is one distribution channel among several.
-
F-Droid
F-Droid is a software repository and installation client for Android that focuses exclusively on free and open-source software (FOSS).
-
GitHub Releases
GitHub Releases is a distribution point on a software project’s repository where maintainers publish tagged builds for download.
-
Samsung Galaxy Store
The Samsung Galaxy Store is the default application storefront on Samsung Galaxy phones and tablets.